use :: libc;
extern "C" {
    pub type event_base;
    pub type evbuffer;
    pub type bufferevent_ops;
    pub type args;
    pub type tmuxpeer;
    pub type hyperlinks;
    pub type screen_write_cline;
    pub type screen_sel;
    pub type screen_titles;
    pub type environ;
    pub type options;
    pub type format_tree;
    pub type input_ctx;
    pub type cmds;
    pub type tty_key;
    pub type tty_code;
    pub type format_job_tree;
    pub type control_state;
    pub type cmdq_list;
    pub type cmdq_item;
    pub type mode_tree_data;
    pub type options_array_item;
    pub type options_entry;
    pub type screen_write_citem;
    pub type mode_tree_item;
    fn tolower(_: i32) -> i32;
    fn toupper(_: i32) -> i32;
    fn free(_: *mut libc::c_void);
    fn memcpy(_: *mut libc::c_void, _: *const libc::c_void, _: u64) -> *mut libc::c_void;
    fn strcmp(_: *const i8, _: *const i8) -> i32;
    fn strlen(_: *const i8) -> u64;
    fn strlcat(_: *mut i8, _: *const i8, _: size_t) -> size_t;
    fn xcalloc(_: size_t, _: size_t) -> *mut libc::c_void;
    fn xreallocarray(_: *mut libc::c_void, _: size_t, _: size_t) -> *mut libc::c_void;
    fn xstrdup(_: *const i8) -> *mut i8;
    fn xasprintf(_: *mut *mut i8, _: *const i8, _: ...) -> i32;
    static mut global_options: *mut options;
    static mut global_s_options: *mut options;
    static mut global_w_options: *mut options;
    fn format_true(_: *const i8) -> i32;
    fn format_free(_: *mut format_tree);
    fn format_add(_: *mut format_tree, _: *const i8, _: *const i8, _: ...);
    fn format_expand(_: *mut format_tree, _: *const i8) -> *mut i8;
    fn format_create_from_state(
        _: *mut cmdq_item,
        _: *mut client,
        _: *mut cmd_find_state,
    ) -> *mut format_tree;
    fn options_get_parent(_: *mut options) -> *mut options;
    fn options_first(_: *mut options) -> *mut options_entry;
    fn options_next(_: *mut options_entry) -> *mut options_entry;
    fn options_default_to_string(_: *const options_table_entry) -> *mut i8;
    fn options_name(_: *mut options_entry) -> *const i8;
    fn options_owner(_: *mut options_entry) -> *mut options;
    fn options_table_entry(_: *mut options_entry) -> *const options_table_entry;
    fn options_get_only(_: *mut options, _: *const i8) -> *mut options_entry;
    fn options_get(_: *mut options, _: *const i8) -> *mut options_entry;
    fn options_array_get(_: *mut options_entry, _: u_int) -> *mut options_value;
    fn options_array_set(
        _: *mut options_entry,
        _: u_int,
        _: *const i8,
        _: i32,
        _: *mut *mut i8,
    ) -> i32;
    fn options_array_first(_: *mut options_entry) -> *mut options_array_item;
    fn options_array_next(_: *mut options_array_item) -> *mut options_array_item;
    fn options_array_item_index(_: *mut options_array_item) -> u_int;
    fn options_to_string(_: *mut options_entry, _: i32, _: i32) -> *mut i8;
    fn options_get_number(_: *mut options, _: *const i8) -> i64;
    fn options_set_number(_: *mut options, _: *const i8, _: i64) -> *mut options_entry;
    fn options_from_string(
        _: *mut options,
        _: *const options_table_entry,
        _: *const i8,
        _: *const i8,
        _: i32,
        _: *mut *mut i8,
    ) -> i32;
    fn options_push_changes(_: *const i8);
    fn options_remove_or_default(_: *mut options_entry, _: i32, _: *mut *mut i8) -> i32;
    static options_table: [options_table_entry; 0];
    fn args_has(_: *mut args, _: u_char) -> i32;
    fn args_get(_: *mut args, _: u_char) -> *const i8;
    fn cmd_find_valid_state(_: *mut cmd_find_state) -> i32;
    fn cmd_find_copy_state(_: *mut cmd_find_state, _: *mut cmd_find_state);
    fn cmd_find_from_pane(_: *mut cmd_find_state, _: *mut window_pane, _: i32) -> i32;
    fn cmd_list_free(_: *mut cmd_list);
    fn cmd_list_print(_: *mut cmd_list, _: i32) -> *mut i8;
    fn cmd_parse_from_string(_: *const i8, _: *mut cmd_parse_input) -> *mut cmd_parse_result;
    fn key_bindings_get_table(_: *const i8, _: i32) -> *mut key_table;
    fn key_bindings_first_table() -> *mut key_table;
    fn key_bindings_next_table(_: *mut key_table) -> *mut key_table;
    fn key_bindings_get(_: *mut key_table, _: key_code) -> *mut key_binding;
    fn key_bindings_get_default(_: *mut key_table, _: key_code) -> *mut key_binding;
    fn key_bindings_first(_: *mut key_table) -> *mut key_binding;
    fn key_bindings_next(_: *mut key_table, _: *mut key_binding) -> *mut key_binding;
    fn key_bindings_remove(_: *const i8, _: key_code);
    fn key_bindings_reset(_: *const i8, _: key_code);
    fn key_string_lookup_key(_: key_code, _: i32) -> *const i8;
    fn status_message_set(_: *mut client, _: i32, _: i32, _: i32, _: *const i8, _: ...);
    fn status_prompt_set(
        _: *mut client,
        _: *mut cmd_find_state,
        _: *const i8,
        _: *const i8,
        _: prompt_input_cb,
        _: prompt_free_cb,
        _: *mut libc::c_void,
        _: i32,
        _: prompt_type,
    );
    static grid_default_cell: grid_cell;
    fn screen_write_text(
        _: *mut screen_write_ctx,
        _: u_int,
        _: u_int,
        _: u_int,
        _: i32,
        _: *const grid_cell,
        _: *const i8,
        _: ...
    ) -> i32;
    fn screen_write_cursormove(_: *mut screen_write_ctx, _: i32, _: i32, _: i32);
    fn window_pane_index(_: *mut window_pane, _: *mut u_int) -> i32;
    fn window_pane_reset_mode(_: *mut window_pane);
    fn mode_tree_get_current_name(_: *mut mode_tree_data) -> *const i8;
    fn mode_tree_collapse_current(_: *mut mode_tree_data);
    fn mode_tree_each_tagged(
        _: *mut mode_tree_data,
        _: mode_tree_each_cb,
        _: *mut client,
        _: key_code,
        _: i32,
    );
    fn mode_tree_up(_: *mut mode_tree_data, _: i32);
    fn mode_tree_start(
        _: *mut window_pane,
        _: *mut args,
        _: mode_tree_build_cb,
        _: mode_tree_draw_cb,
        _: mode_tree_search_cb,
        _: mode_tree_menu_cb,
        _: mode_tree_height_cb,
        _: mode_tree_key_cb,
        _: *mut libc::c_void,
        _: *const menu_item,
        _: *mut *const i8,
        _: u_int,
        _: *mut *mut screen,
    ) -> *mut mode_tree_data;
    fn mode_tree_zoom(_: *mut mode_tree_data, _: *mut args);
    fn mode_tree_build(_: *mut mode_tree_data);
    fn mode_tree_free(_: *mut mode_tree_data);
    fn mode_tree_resize(_: *mut mode_tree_data, _: u_int, _: u_int);
    fn mode_tree_add(
        _: *mut mode_tree_data,
        _: *mut mode_tree_item,
        _: *mut libc::c_void,
        _: uint64_t,
        _: *const i8,
        _: *const i8,
        _: i32,
    ) -> *mut mode_tree_item;
    fn mode_tree_draw_as_parent(_: *mut mode_tree_item);
    fn mode_tree_no_tag(_: *mut mode_tree_item);
    fn mode_tree_draw(_: *mut mode_tree_data);
    fn mode_tree_key(
        _: *mut mode_tree_data,
        _: *mut client,
        _: *mut key_code,
        _: *mut mouse_event,
        _: *mut u_int,
        _: *mut u_int,
    ) -> i32;
    fn mode_tree_get_current(_: *mut mode_tree_data) -> *mut libc::c_void;
    fn mode_tree_count_tagged(_: *mut mode_tree_data) -> u_int;
    fn style_apply(_: *mut grid_cell, _: *mut options, _: *const i8, _: *mut format_tree);
}
pub type __u_char = u8;
pub type __u_short = u16;
pub type __u_int = u32;
pub type __uint8_t = u8;
pub type __uint64_t = u64;
pub type __pid_t = i32;
pub type __time_t = i64;
pub type __suseconds_t = i64;
pub type u_char = __u_char;
pub type u_short = __u_short;
pub type u_int = __u_int;
pub type pid_t = __pid_t;
pub type time_t = __time_t;
pub type size_t = u64;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct timeval {
    pub tv_sec: __time_t,
    pub tv_usec: __suseconds_t,
}
pub type cc_t = u8;
pub type speed_t = u32;
pub type tcflag_t = u32;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct termios {
    pub c_iflag: tcflag_t,
    pub c_oflag: tcflag_t,
    pub c_cflag: tcflag_t,
    pub c_lflag: tcflag_t,
    pub c_line: cc_t,
    pub c_cc: [cc_t; 32],
    pub c_ispeed: speed_t,
    pub c_ospeed: speed_t,
}
pub type uint8_t = __uint8_t;
pub type uint64_t = __uint64_t;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct event {
    pub ev_evcallback: event_callback,
    pub ev_timeout_pos: C2RustUnnamed_4,
    pub ev_fd: i32,
    pub ev_base: *mut event_base,
    pub ev_: C2RustUnnamed,
    pub ev_events: i16,
    pub ev_res: i16,
    pub ev_timeout: timeval,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub union C2RustUnnamed {
    pub ev_io: C2RustUnnamed_2,
    pub ev_signal: C2RustUnnamed_0,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_0 {
    pub ev_signal_next: C2RustUnnamed_1,
    pub ev_ncalls: i16,
    pub ev_pncalls: *mut i16,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_1 {
    pub le_next: *mut event,
    pub le_prev: *mut *mut event,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_2 {
    pub ev_io_next: C2RustUnnamed_3,
    pub ev_timeout: timeval,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_3 {
    pub le_next: *mut event,
    pub le_prev: *mut *mut event,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub union C2RustUnnamed_4 {
    pub ev_next_with_common_timeout: C2RustUnnamed_5,
    pub min_heap_idx: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_5 {
    pub tqe_next: *mut event,
    pub tqe_prev: *mut *mut event,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct event_callback {
    pub evcb_active_next: C2RustUnnamed_7,
    pub evcb_flags: i16,
    pub evcb_pri: uint8_t,
    pub evcb_closure: uint8_t,
    pub evcb_cb_union: C2RustUnnamed_6,
    pub evcb_arg: *mut libc::c_void,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub union C2RustUnnamed_6 {
    pub evcb_callback: Option<unsafe extern "C" fn(i32, i16, *mut libc::c_void) -> ()>,
    pub evcb_selfcb: Option<unsafe extern "C" fn(*mut event_callback, *mut libc::c_void) -> ()>,
    pub evcb_evfinalize: Option<unsafe extern "C" fn(*mut event, *mut libc::c_void) -> ()>,
    pub evcb_cbfinalize: Option<unsafe extern "C" fn(*mut event_callback, *mut libc::c_void) -> ()>,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_7 {
    pub tqe_next: *mut event_callback,
    pub tqe_prev: *mut *mut event_callback,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct bufferevent {
    pub ev_base: *mut event_base,
    pub be_ops: *const bufferevent_ops,
    pub ev_read: event,
    pub ev_write: event,
    pub input: *mut evbuffer,
    pub output: *mut evbuffer,
    pub wm_read: event_watermark,
    pub wm_write: event_watermark,
    pub readcb: bufferevent_data_cb,
    pub writecb: bufferevent_data_cb,
    pub errorcb: bufferevent_event_cb,
    pub cbarg: *mut libc::c_void,
    pub timeout_read: timeval,
    pub timeout_write: timeval,
    pub enabled: i16,
}
pub type bufferevent_event_cb =
    Option<unsafe extern "C" fn(*mut bufferevent, i16, *mut libc::c_void) -> ()>;
pub type bufferevent_data_cb =
    Option<unsafe extern "C" fn(*mut bufferevent, *mut libc::c_void) -> ()>;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct event_watermark {
    pub low: size_t,
    pub high: size_t,
}
pub type bitstr_t = u8;
pub type msgtype = u32;
pub const MSG_READ_CANCEL: msgtype = 307;
pub const MSG_WRITE_CLOSE: msgtype = 306;
pub const MSG_WRITE_READY: msgtype = 305;
pub const MSG_WRITE: msgtype = 304;
pub const MSG_WRITE_OPEN: msgtype = 303;
pub const MSG_READ_DONE: msgtype = 302;
pub const MSG_READ: msgtype = 301;
pub const MSG_READ_OPEN: msgtype = 300;
pub const MSG_FLAGS: msgtype = 218;
pub const MSG_EXEC: msgtype = 217;
pub const MSG_WAKEUP: msgtype = 216;
pub const MSG_UNLOCK: msgtype = 215;
pub const MSG_SUSPEND: msgtype = 214;
pub const MSG_OLDSTDOUT: msgtype = 213;
pub const MSG_OLDSTDIN: msgtype = 212;
pub const MSG_OLDSTDERR: msgtype = 211;
pub const MSG_SHUTDOWN: msgtype = 210;
pub const MSG_SHELL: msgtype = 209;
pub const MSG_RESIZE: msgtype = 208;
pub const MSG_READY: msgtype = 207;
pub const MSG_LOCK: msgtype = 206;
pub const MSG_EXITING: msgtype = 205;
pub const MSG_EXITED: msgtype = 204;
pub const MSG_EXIT: msgtype = 203;
pub const MSG_DETACHKILL: msgtype = 202;
pub const MSG_DETACH: msgtype = 201;
pub const MSG_COMMAND: msgtype = 200;
pub const MSG_IDENTIFY_TERMINFO: msgtype = 112;
pub const MSG_IDENTIFY_LONGFLAGS: msgtype = 111;
pub const MSG_IDENTIFY_STDOUT: msgtype = 110;
pub const MSG_IDENTIFY_FEATURES: msgtype = 109;
pub const MSG_IDENTIFY_CWD: msgtype = 108;
pub const MSG_IDENTIFY_CLIENTPID: msgtype = 107;
pub const MSG_IDENTIFY_DONE: msgtype = 106;
pub const MSG_IDENTIFY_ENVIRON: msgtype = 105;
pub const MSG_IDENTIFY_STDIN: msgtype = 104;
pub const MSG_IDENTIFY_OLDCWD: msgtype = 103;
pub const MSG_IDENTIFY_TTYNAME: msgtype = 102;
pub const MSG_IDENTIFY_TERM: msgtype = 101;
pub const MSG_IDENTIFY_FLAGS: msgtype = 100;
pub const MSG_VERSION: msgtype = 12;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct client {
    pub name: *const i8,
    pub peer: *mut tmuxpeer,
    pub queue: *mut cmdq_list,
    pub windows: client_windows,
    pub control_state: *mut control_state,
    pub pause_age: u_int,
    pub pid: pid_t,
    pub fd: i32,
    pub out_fd: i32,
    pub event: event,
    pub retval: i32,
    pub creation_time: timeval,
    pub activity_time: timeval,
    pub last_activity_time: timeval,
    pub environ: *mut environ,
    pub jobs: *mut format_job_tree,
    pub title: *mut i8,
    pub path: *mut i8,
    pub cwd: *const i8,
    pub term_name: *mut i8,
    pub term_features: i32,
    pub term_type: *mut i8,
    pub term_caps: *mut *mut i8,
    pub term_ncaps: u_int,
    pub ttyname: *mut i8,
    pub tty: tty,
    pub written: size_t,
    pub discarded: size_t,
    pub redraw: size_t,
    pub repeat_timer: event,
    pub click_timer: event,
    pub click_button: u_int,
    pub click_event: mouse_event,
    pub status: status_line,
    pub flags: uint64_t,
    pub exit_type: C2RustUnnamed_30,
    pub exit_msgtype: msgtype,
    pub exit_session: *mut i8,
    pub exit_message: *mut i8,
    pub keytable: *mut key_table,
    pub last_key: key_code,
    pub redraw_panes: uint64_t,
    pub redraw_scrollbars: uint64_t,
    pub message_ignore_keys: i32,
    pub message_ignore_styles: i32,
    pub message_string: *mut i8,
    pub message_timer: event,
    pub prompt_string: *mut i8,
    pub prompt_buffer: *mut utf8_data,
    pub prompt_last: *mut i8,
    pub prompt_index: size_t,
    pub prompt_inputcb: prompt_input_cb,
    pub prompt_freecb: prompt_free_cb,
    pub prompt_data: *mut libc::c_void,
    pub prompt_hindex: [u_int; 4],
    pub prompt_mode: C2RustUnnamed_27,
    pub prompt_saved: *mut utf8_data,
    pub prompt_flags: i32,
    pub prompt_type: prompt_type,
    pub prompt_cursor: i32,
    pub session: *mut session,
    pub last_session: *mut session,
    pub references: i32,
    pub pan_window: *mut libc::c_void,
    pub pan_ox: u_int,
    pub pan_oy: u_int,
    pub overlay_check: overlay_check_cb,
    pub overlay_mode: overlay_mode_cb,
    pub overlay_draw: overlay_draw_cb,
    pub overlay_key: overlay_key_cb,
    pub overlay_free: overlay_free_cb,
    pub overlay_resize: overlay_resize_cb,
    pub overlay_data: *mut libc::c_void,
    pub overlay_timer: event,
    pub files: client_files,
    pub clipboard_panes: *mut u_int,
    pub clipboard_npanes: u_int,
    pub entry: C2RustUnnamed_8,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_8 {
    pub tqe_next: *mut client,
    pub tqe_prev: *mut *mut client,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct client_files {
    pub rbh_root: *mut client_file,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct client_file {
    pub c: *mut client,
    pub peer: *mut tmuxpeer,
    pub tree: *mut client_files,
    pub references: i32,
    pub stream: i32,
    pub path: *mut i8,
    pub buffer: *mut evbuffer,
    pub event: *mut bufferevent,
    pub fd: i32,
    pub error: i32,
    pub closed: i32,
    pub cb: client_file_cb,
    pub data: *mut libc::c_void,
    pub entry: C2RustUnnamed_9,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_9 {
    pub rbe_left: *mut client_file,
    pub rbe_right: *mut client_file,
    pub rbe_parent: *mut client_file,
    pub rbe_color: i32,
}
pub type client_file_cb = Option<
    unsafe extern "C" fn(*mut client, *const i8, i32, i32, *mut evbuffer, *mut libc::c_void) -> (),
>;
pub type overlay_resize_cb = Option<unsafe extern "C" fn(*mut client, *mut libc::c_void) -> ()>;
pub type overlay_free_cb = Option<unsafe extern "C" fn(*mut client, *mut libc::c_void) -> ()>;
pub type overlay_key_cb =
    Option<unsafe extern "C" fn(*mut client, *mut libc::c_void, *mut key_event) -> i32>;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct key_event {
    pub key: key_code,
    pub m: mouse_event,
    pub buf: *mut i8,
    pub len: size_t,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct mouse_event {
    pub valid: i32,
    pub ignore: i32,
    pub key: key_code,
    pub statusat: i32,
    pub statuslines: u_int,
    pub x: u_int,
    pub y: u_int,
    pub b: u_int,
    pub lx: u_int,
    pub ly: u_int,
    pub lb: u_int,
    pub ox: u_int,
    pub oy: u_int,
    pub s: i32,
    pub w: i32,
    pub wp: i32,
    pub sgr_type: u_int,
    pub sgr_b: u_int,
}
pub type key_code = u64;
pub type overlay_draw_cb =
    Option<unsafe extern "C" fn(*mut client, *mut libc::c_void, *mut screen_redraw_ctx) -> ()>;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct screen_redraw_ctx {
    pub c: *mut client,
    pub statuslines: u_int,
    pub statustop: i32,
    pub pane_status: i32,
    pub pane_lines: pane_lines,
    pub pane_scrollbars: i32,
    pub pane_scrollbars_pos: i32,
    pub no_pane_gc: grid_cell,
    pub no_pane_gc_set: i32,
    pub sx: u_int,
    pub sy: u_int,
    pub ox: u_int,
    pub oy: u_int,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct grid_cell {
    pub data: utf8_data,
    pub attr: u_short,
    pub flags: u_char,
    pub fg: i32,
    pub bg: i32,
    pub us: i32,
    pub link: u_int,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct utf8_data {
    pub data: [u_char; 21],
    pub have: u_char,
    pub size: u_char,
    pub width: u_char,
}
pub type pane_lines = u32;
pub const PANE_LINES_NUMBER: pane_lines = 4;
pub const PANE_LINES_SIMPLE: pane_lines = 3;
pub const PANE_LINES_HEAVY: pane_lines = 2;
pub const PANE_LINES_DOUBLE: pane_lines = 1;
pub const PANE_LINES_SINGLE: pane_lines = 0;
pub type overlay_mode_cb = Option<
    unsafe extern "C" fn(*mut client, *mut libc::c_void, *mut u_int, *mut u_int) -> *mut screen,
>;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct screen {
    pub title: *mut i8,
    pub path: *mut i8,
    pub titles: *mut screen_titles,
    pub grid: *mut grid,
    pub cx: u_int,
    pub cy: u_int,
    pub cstyle: screen_cursor_style,
    pub default_cstyle: screen_cursor_style,
    pub ccolour: i32,
    pub default_ccolour: i32,
    pub rupper: u_int,
    pub rlower: u_int,
    pub mode: i32,
    pub default_mode: i32,
    pub saved_cx: u_int,
    pub saved_cy: u_int,
    pub saved_grid: *mut grid,
    pub saved_cell: grid_cell,
    pub saved_flags: i32,
    pub tabs: *mut bitstr_t,
    pub sel: *mut screen_sel,
    pub write_list: *mut screen_write_cline,
    pub hyperlinks: *mut hyperlinks,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct grid {
    pub flags: i32,
    pub sx: u_int,
    pub sy: u_int,
    pub hscrolled: u_int,
    pub hsize: u_int,
    pub hlimit: u_int,
    pub linedata: *mut grid_line,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct grid_line {
    pub celldata: *mut grid_cell_entry,
    pub cellused: u_int,
    pub cellsize: u_int,
    pub extddata: *mut grid_extd_entry,
    pub extdsize: u_int,
    pub flags: i32,
    pub time: time_t,
}
#[derive(Copy, Clone)]
#[repr(C, packed)]
pub struct grid_extd_entry {
    pub data: utf8_char,
    pub attr: u_short,
    pub flags: u_char,
    pub fg: i32,
    pub bg: i32,
    pub us: i32,
    pub link: u_int,
}
pub type utf8_char = u_int;
#[derive(Copy, Clone)]
#[repr(C, packed)]
pub struct grid_cell_entry {
    pub c2rust_unnamed: C2RustUnnamed_10,
    pub flags: u_char,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub union C2RustUnnamed_10 {
    pub offset: u_int,
    pub data: C2RustUnnamed_11,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_11 {
    pub attr: u_char,
    pub fg: u_char,
    pub bg: u_char,
    pub data: u_char,
}
pub type screen_cursor_style = u32;
pub const SCREEN_CURSOR_BAR: screen_cursor_style = 3;
pub const SCREEN_CURSOR_UNDERLINE: screen_cursor_style = 2;
pub const SCREEN_CURSOR_BLOCK: screen_cursor_style = 1;
pub const SCREEN_CURSOR_DEFAULT: screen_cursor_style = 0;
pub type overlay_check_cb = Option<
    unsafe extern "C" fn(
        *mut client,
        *mut libc::c_void,
        u_int,
        u_int,
        u_int,
        *mut overlay_ranges,
    ) -> (),
>;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct overlay_ranges {
    pub px: [u_int; 3],
    pub nx: [u_int; 3],
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct session {
    pub id: u_int,
    pub name: *mut i8,
    pub cwd: *const i8,
    pub creation_time: timeval,
    pub last_attached_time: timeval,
    pub activity_time: timeval,
    pub last_activity_time: timeval,
    pub lock_timer: event,
    pub curw: *mut winlink,
    pub lastw: winlink_stack,
    pub windows: winlinks,
    pub statusat: i32,
    pub statuslines: u_int,
    pub options: *mut options,
    pub flags: i32,
    pub attached: u_int,
    pub tio: *mut termios,
    pub environ: *mut environ,
    pub references: i32,
    pub gentry: C2RustUnnamed_13,
    pub entry: C2RustUnnamed_12,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_12 {
    pub rbe_left: *mut session,
    pub rbe_right: *mut session,
    pub rbe_parent: *mut session,
    pub rbe_color: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_13 {
    pub tqe_next: *mut session,
    pub tqe_prev: *mut *mut session,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct winlinks {
    pub rbh_root: *mut winlink,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct winlink {
    pub idx: i32,
    pub session: *mut session,
    pub window: *mut window,
    pub flags: i32,
    pub entry: C2RustUnnamed_16,
    pub wentry: C2RustUnnamed_15,
    pub sentry: C2RustUnnamed_14,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_14 {
    pub tqe_next: *mut winlink,
    pub tqe_prev: *mut *mut winlink,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_15 {
    pub tqe_next: *mut winlink,
    pub tqe_prev: *mut *mut winlink,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_16 {
    pub rbe_left: *mut winlink,
    pub rbe_right: *mut winlink,
    pub rbe_parent: *mut winlink,
    pub rbe_color: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window {
    pub id: u_int,
    pub latest: *mut libc::c_void,
    pub name: *mut i8,
    pub name_event: event,
    pub name_time: timeval,
    pub alerts_timer: event,
    pub offset_timer: event,
    pub activity_time: timeval,
    pub active: *mut window_pane,
    pub last_panes: window_panes,
    pub panes: window_panes,
    pub lastlayout: i32,
    pub layout_root: *mut layout_cell,
    pub saved_layout_root: *mut layout_cell,
    pub old_layout: *mut i8,
    pub sx: u_int,
    pub sy: u_int,
    pub manual_sx: u_int,
    pub manual_sy: u_int,
    pub xpixel: u_int,
    pub ypixel: u_int,
    pub new_sx: u_int,
    pub new_sy: u_int,
    pub new_xpixel: u_int,
    pub new_ypixel: u_int,
    pub fill_character: *mut utf8_data,
    pub flags: i32,
    pub alerts_queued: i32,
    pub alerts_entry: C2RustUnnamed_19,
    pub options: *mut options,
    pub references: u_int,
    pub winlinks: C2RustUnnamed_18,
    pub entry: C2RustUnnamed_17,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_17 {
    pub rbe_left: *mut window,
    pub rbe_right: *mut window,
    pub rbe_parent: *mut window,
    pub rbe_color: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_18 {
    pub tqh_first: *mut winlink,
    pub tqh_last: *mut *mut winlink,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_19 {
    pub tqe_next: *mut window,
    pub tqe_prev: *mut *mut window,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct layout_cell {
    pub type_0: layout_type,
    pub parent: *mut layout_cell,
    pub sx: u_int,
    pub sy: u_int,
    pub xoff: u_int,
    pub yoff: u_int,
    pub wp: *mut window_pane,
    pub cells: layout_cells,
    pub entry: C2RustUnnamed_20,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_20 {
    pub tqe_next: *mut layout_cell,
    pub tqe_prev: *mut *mut layout_cell,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct layout_cells {
    pub tqh_first: *mut layout_cell,
    pub tqh_last: *mut *mut layout_cell,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_pane {
    pub id: u_int,
    pub active_point: u_int,
    pub window: *mut window,
    pub options: *mut options,
    pub layout_cell: *mut layout_cell,
    pub saved_layout_cell: *mut layout_cell,
    pub sx: u_int,
    pub sy: u_int,
    pub xoff: u_int,
    pub yoff: u_int,
    pub flags: i32,
    pub sb_slider_y: u_int,
    pub sb_slider_h: u_int,
    pub argc: i32,
    pub argv: *mut *mut i8,
    pub shell: *mut i8,
    pub cwd: *mut i8,
    pub pid: pid_t,
    pub tty: [i8; 32],
    pub status: i32,
    pub dead_time: timeval,
    pub fd: i32,
    pub event: *mut bufferevent,
    pub offset: window_pane_offset,
    pub base_offset: size_t,
    pub resize_queue: window_pane_resizes,
    pub resize_timer: event,
    pub ictx: *mut input_ctx,
    pub cached_gc: grid_cell,
    pub cached_active_gc: grid_cell,
    pub palette: colour_palette,
    pub pipe_fd: i32,
    pub pipe_event: *mut bufferevent,
    pub pipe_offset: window_pane_offset,
    pub screen: *mut screen,
    pub base: screen,
    pub status_screen: screen,
    pub status_size: size_t,
    pub modes: C2RustUnnamed_24,
    pub searchstr: *mut i8,
    pub searchregex: i32,
    pub border_gc_set: i32,
    pub border_gc: grid_cell,
    pub control_bg: i32,
    pub control_fg: i32,
    pub scrollbar_style: style,
    pub entry: C2RustUnnamed_23,
    pub sentry: C2RustUnnamed_22,
    pub tree_entry: C2RustUnnamed_21,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_21 {
    pub rbe_left: *mut window_pane,
    pub rbe_right: *mut window_pane,
    pub rbe_parent: *mut window_pane,
    pub rbe_color: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_22 {
    pub tqe_next: *mut window_pane,
    pub tqe_prev: *mut *mut window_pane,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_23 {
    pub tqe_next: *mut window_pane,
    pub tqe_prev: *mut *mut window_pane,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct style {
    pub gc: grid_cell,
    pub ignore: i32,
    pub fill: i32,
    pub align: style_align,
    pub list: style_list,
    pub range_type: style_range_type,
    pub range_argument: u_int,
    pub range_string: [i8; 16],
    pub width: i32,
    pub pad: i32,
    pub default_type: style_default_type,
}
pub type style_default_type = u32;
pub const STYLE_DEFAULT_POP: style_default_type = 2;
pub const STYLE_DEFAULT_PUSH: style_default_type = 1;
pub const STYLE_DEFAULT_BASE: style_default_type = 0;
pub type style_range_type = u32;
pub const STYLE_RANGE_USER: style_range_type = 6;
pub const STYLE_RANGE_SESSION: style_range_type = 5;
pub const STYLE_RANGE_WINDOW: style_range_type = 4;
pub const STYLE_RANGE_PANE: style_range_type = 3;
pub const STYLE_RANGE_RIGHT: style_range_type = 2;
pub const STYLE_RANGE_LEFT: style_range_type = 1;
pub const STYLE_RANGE_NONE: style_range_type = 0;
pub type style_list = u32;
pub const STYLE_LIST_RIGHT_MARKER: style_list = 4;
pub const STYLE_LIST_LEFT_MARKER: style_list = 3;
pub const STYLE_LIST_FOCUS: style_list = 2;
pub const STYLE_LIST_ON: style_list = 1;
pub const STYLE_LIST_OFF: style_list = 0;
pub type style_align = u32;
pub const STYLE_ALIGN_ABSOLUTE_CENTRE: style_align = 4;
pub const STYLE_ALIGN_RIGHT: style_align = 3;
pub const STYLE_ALIGN_CENTRE: style_align = 2;
pub const STYLE_ALIGN_LEFT: style_align = 1;
pub const STYLE_ALIGN_DEFAULT: style_align = 0;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_24 {
    pub tqh_first: *mut window_mode_entry,
    pub tqh_last: *mut *mut window_mode_entry,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_mode_entry {
    pub wp: *mut window_pane,
    pub swp: *mut window_pane,
    pub mode: *const window_mode,
    pub data: *mut libc::c_void,
    pub screen: *mut screen,
    pub prefix: u_int,
    pub entry: C2RustUnnamed_25,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_25 {
    pub tqe_next: *mut window_mode_entry,
    pub tqe_prev: *mut *mut window_mode_entry,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_mode {
    pub name: *const i8,
    pub default_format: *const i8,
    pub init: Option<
        unsafe extern "C" fn(*mut window_mode_entry, *mut cmd_find_state, *mut args) -> *mut screen,
    >,
    pub free: Option<unsafe extern "C" fn(*mut window_mode_entry) -> ()>,
    pub resize: Option<unsafe extern "C" fn(*mut window_mode_entry, u_int, u_int) -> ()>,
    pub update: Option<unsafe extern "C" fn(*mut window_mode_entry) -> ()>,
    pub key: Option<
        unsafe extern "C" fn(
            *mut window_mode_entry,
            *mut client,
            *mut session,
            *mut winlink,
            key_code,
            *mut mouse_event,
        ) -> (),
    >,
    pub key_table: Option<unsafe extern "C" fn(*mut window_mode_entry) -> *const i8>,
    pub command: Option<
        unsafe extern "C" fn(
            *mut window_mode_entry,
            *mut client,
            *mut session,
            *mut winlink,
            *mut args,
            *mut mouse_event,
        ) -> (),
    >,
    pub formats: Option<unsafe extern "C" fn(*mut window_mode_entry, *mut format_tree) -> ()>,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct cmd_find_state {
    pub flags: i32,
    pub current: *mut cmd_find_state,
    pub s: *mut session,
    pub wl: *mut winlink,
    pub w: *mut window,
    pub wp: *mut window_pane,
    pub idx: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_pane_offset {
    pub used: size_t,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct colour_palette {
    pub fg: i32,
    pub bg: i32,
    pub palette: *mut i32,
    pub default_palette: *mut i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_pane_resizes {
    pub tqh_first: *mut window_pane_resize,
    pub tqh_last: *mut *mut window_pane_resize,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_pane_resize {
    pub sx: u_int,
    pub sy: u_int,
    pub osx: u_int,
    pub osy: u_int,
    pub entry: C2RustUnnamed_26,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_26 {
    pub tqe_next: *mut window_pane_resize,
    pub tqe_prev: *mut *mut window_pane_resize,
}
pub type layout_type = u32;
pub const LAYOUT_WINDOWPANE: layout_type = 2;
pub const LAYOUT_TOPBOTTOM: layout_type = 1;
pub const LAYOUT_LEFTRIGHT: layout_type = 0;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_panes {
    pub tqh_first: *mut window_pane,
    pub tqh_last: *mut *mut window_pane,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct winlink_stack {
    pub tqh_first: *mut winlink,
    pub tqh_last: *mut *mut winlink,
}
pub type prompt_type = u32;
pub const PROMPT_TYPE_INVALID: prompt_type = 255;
pub const PROMPT_TYPE_WINDOW_TARGET: prompt_type = 3;
pub const PROMPT_TYPE_TARGET: prompt_type = 2;
pub const PROMPT_TYPE_SEARCH: prompt_type = 1;
pub const PROMPT_TYPE_COMMAND: prompt_type = 0;
pub type C2RustUnnamed_27 = u32;
pub const PROMPT_COMMAND: C2RustUnnamed_27 = 1;
pub const PROMPT_ENTRY: C2RustUnnamed_27 = 0;
pub type prompt_free_cb = Option<unsafe extern "C" fn(*mut libc::c_void) -> ()>;
pub type prompt_input_cb =
    Option<unsafe extern "C" fn(*mut client, *mut libc::c_void, *const i8, i32) -> i32>;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct key_table {
    pub name: *const i8,
    pub activity_time: timeval,
    pub key_bindings: key_bindings,
    pub default_key_bindings: key_bindings,
    pub references: u_int,
    pub entry: C2RustUnnamed_28,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_28 {
    pub rbe_left: *mut key_table,
    pub rbe_right: *mut key_table,
    pub rbe_parent: *mut key_table,
    pub rbe_color: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct key_bindings {
    pub rbh_root: *mut key_binding,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct key_binding {
    pub key: key_code,
    pub cmdlist: *mut cmd_list,
    pub note: *const i8,
    pub flags: i32,
    pub entry: C2RustUnnamed_29,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_29 {
    pub rbe_left: *mut key_binding,
    pub rbe_right: *mut key_binding,
    pub rbe_parent: *mut key_binding,
    pub rbe_color: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct cmd_list {
    pub references: i32,
    pub group: u_int,
    pub list: *mut cmds,
}
pub type C2RustUnnamed_30 = u32;
pub const CLIENT_EXIT_DETACH: C2RustUnnamed_30 = 2;
pub const CLIENT_EXIT_SHUTDOWN: C2RustUnnamed_30 = 1;
pub const CLIENT_EXIT_RETURN: C2RustUnnamed_30 = 0;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct status_line {
    pub timer: event,
    pub screen: screen,
    pub active: *mut screen,
    pub references: i32,
    pub style: grid_cell,
    pub entries: [status_line_entry; 5],
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct status_line_entry {
    pub expanded: *mut i8,
    pub ranges: style_ranges,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct style_ranges {
    pub tqh_first: *mut style_range,
    pub tqh_last: *mut *mut style_range,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct style_range {
    pub type_0: style_range_type,
    pub argument: u_int,
    pub string: [i8; 16],
    pub start: u_int,
    pub end: u_int,
    pub entry: C2RustUnnamed_31,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_31 {
    pub tqe_next: *mut style_range,
    pub tqe_prev: *mut *mut style_range,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct tty {
    pub client: *mut client,
    pub start_timer: event,
    pub clipboard_timer: event,
    pub last_requests: time_t,
    pub sx: u_int,
    pub sy: u_int,
    pub xpixel: u_int,
    pub ypixel: u_int,
    pub cx: u_int,
    pub cy: u_int,
    pub cstyle: screen_cursor_style,
    pub ccolour: i32,
    pub oflag: i32,
    pub oox: u_int,
    pub ooy: u_int,
    pub osx: u_int,
    pub osy: u_int,
    pub mode: i32,
    pub fg: i32,
    pub bg: i32,
    pub rlower: u_int,
    pub rupper: u_int,
    pub rleft: u_int,
    pub rright: u_int,
    pub event_in: event,
    pub in_0: *mut evbuffer,
    pub event_out: event,
    pub out: *mut evbuffer,
    pub timer: event,
    pub discarded: size_t,
    pub tio: termios,
    pub cell: grid_cell,
    pub last_cell: grid_cell,
    pub flags: i32,
    pub term: *mut tty_term,
    pub mouse_last_x: u_int,
    pub mouse_last_y: u_int,
    pub mouse_last_b: u_int,
    pub mouse_drag_flag: i32,
    pub mouse_scrolling_flag: i32,
    pub mouse_slider_mpos: i32,
    pub mouse_drag_update: Option<unsafe extern "C" fn(*mut client, *mut mouse_event) -> ()>,
    pub mouse_drag_release: Option<unsafe extern "C" fn(*mut client, *mut mouse_event) -> ()>,
    pub key_timer: event,
    pub key_tree: *mut tty_key,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct tty_term {
    pub name: *mut i8,
    pub tty: *mut tty,
    pub features: i32,
    pub acs: [[i8; 2]; 256],
    pub codes: *mut tty_code,
    pub flags: i32,
    pub entry: C2RustUnnamed_32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_32 {
    pub le_next: *mut tty_term,
    pub le_prev: *mut *mut tty_term,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct client_windows {
    pub rbh_root: *mut client_window,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct client_window {
    pub window: u_int,
    pub pane: *mut window_pane,
    pub sx: u_int,
    pub sy: u_int,
    pub entry: C2RustUnnamed_33,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct C2RustUnnamed_33 {
    pub rbe_left: *mut client_window,
    pub rbe_right: *mut client_window,
    pub rbe_parent: *mut client_window,
    pub rbe_color: i32,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct screen_write_ctx {
    pub wp: *mut window_pane,
    pub s: *mut screen,
    pub flags: i32,
    pub init_ctx_cb: screen_write_init_ctx_cb,
    pub arg: *mut libc::c_void,
    pub item: *mut screen_write_citem,
    pub scrolled: u_int,
    pub bg: u_int,
}
pub type screen_write_init_ctx_cb =
    Option<unsafe extern "C" fn(*mut screen_write_ctx, *mut tty_ctx) -> ()>;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct tty_ctx {
    pub s: *mut screen,
    pub redraw_cb: tty_ctx_redraw_cb,
    pub set_client_cb: tty_ctx_set_client_cb,
    pub arg: *mut libc::c_void,
    pub cell: *const grid_cell,
    pub wrapped: i32,
    pub num: u_int,
    pub ptr: *mut libc::c_void,
    pub ptr2: *mut libc::c_void,
    pub allow_invisible_panes: i32,
    pub ocx: u_int,
    pub ocy: u_int,
    pub orupper: u_int,
    pub orlower: u_int,
    pub xoff: u_int,
    pub yoff: u_int,
    pub rxoff: u_int,
    pub ryoff: u_int,
    pub sx: u_int,
    pub sy: u_int,
    pub bg: u_int,
    pub defaults: grid_cell,
    pub palette: *mut colour_palette,
    pub bigger: i32,
    pub wox: u_int,
    pub woy: u_int,
    pub wsx: u_int,
    pub wsy: u_int,
}
pub type tty_ctx_set_client_cb = Option<unsafe extern "C" fn(*mut tty_ctx, *mut client) -> i32>;
pub type tty_ctx_redraw_cb = Option<unsafe extern "C" fn(*const tty_ctx) -> ()>;
pub type C2RustUnnamed_34 = u32;
pub const KEYC_BASE_END: C2RustUnnamed_34 = 1106562;
pub const KEYC_KP_PERIOD: C2RustUnnamed_34 = 1106561;
pub const KEYC_KP_ZERO: C2RustUnnamed_34 = 1106560;
pub const KEYC_KP_ENTER: C2RustUnnamed_34 = 1106559;
pub const KEYC_KP_THREE: C2RustUnnamed_34 = 1106558;
pub const KEYC_KP_TWO: C2RustUnnamed_34 = 1106557;
pub const KEYC_KP_ONE: C2RustUnnamed_34 = 1106556;
pub const KEYC_KP_SIX: C2RustUnnamed_34 = 1106555;
pub const KEYC_KP_FIVE: C2RustUnnamed_34 = 1106554;
pub const KEYC_KP_FOUR: C2RustUnnamed_34 = 1106553;
pub const KEYC_KP_PLUS: C2RustUnnamed_34 = 1106552;
pub const KEYC_KP_NINE: C2RustUnnamed_34 = 1106551;
pub const KEYC_KP_EIGHT: C2RustUnnamed_34 = 1106550;
pub const KEYC_KP_SEVEN: C2RustUnnamed_34 = 1106549;
pub const KEYC_KP_MINUS: C2RustUnnamed_34 = 1106548;
pub const KEYC_KP_STAR: C2RustUnnamed_34 = 1106547;
pub const KEYC_KP_SLASH: C2RustUnnamed_34 = 1106546;
pub const KEYC_RIGHT: C2RustUnnamed_34 = 1106545;
pub const KEYC_LEFT: C2RustUnnamed_34 = 1106544;
pub const KEYC_DOWN: C2RustUnnamed_34 = 1106543;
pub const KEYC_UP: C2RustUnnamed_34 = 1106542;
pub const KEYC_BTAB: C2RustUnnamed_34 = 1106541;
pub const KEYC_PPAGE: C2RustUnnamed_34 = 1106540;
pub const KEYC_NPAGE: C2RustUnnamed_34 = 1106539;
pub const KEYC_END: C2RustUnnamed_34 = 1106538;
pub const KEYC_HOME: C2RustUnnamed_34 = 1106537;
pub const KEYC_DC: C2RustUnnamed_34 = 1106536;
pub const KEYC_IC: C2RustUnnamed_34 = 1106535;
pub const KEYC_F12: C2RustUnnamed_34 = 1106534;
pub const KEYC_F11: C2RustUnnamed_34 = 1106533;
pub const KEYC_F10: C2RustUnnamed_34 = 1106532;
pub const KEYC_F9: C2RustUnnamed_34 = 1106531;
pub const KEYC_F8: C2RustUnnamed_34 = 1106530;
pub const KEYC_F7: C2RustUnnamed_34 = 1106529;
pub const KEYC_F6: C2RustUnnamed_34 = 1106528;
pub const KEYC_F5: C2RustUnnamed_34 = 1106527;
pub const KEYC_F4: C2RustUnnamed_34 = 1106526;
pub const KEYC_F3: C2RustUnnamed_34 = 1106525;
pub const KEYC_F2: C2RustUnnamed_34 = 1106524;
pub const KEYC_F1: C2RustUnnamed_34 = 1106523;
pub const KEYC_BSPACE: C2RustUnnamed_34 = 1106522;
pub const KEYC_TRIPLECLICK11_BORDER: C2RustUnnamed_34 = 1106521;
pub const KEYC_TRIPLECLICK11_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106520;
pub const KEYC_TRIPLECLICK11_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106519;
pub const KEYC_TRIPLECLICK11_SCROLLBAR_UP: C2RustUnnamed_34 = 1106518;
pub const KEYC_TRIPLECLICK11_STATUS_DEFAULT: C2RustUnnamed_34 = 1106517;
pub const KEYC_TRIPLECLICK11_STATUS_RIGHT: C2RustUnnamed_34 = 1106516;
pub const KEYC_TRIPLECLICK11_STATUS_LEFT: C2RustUnnamed_34 = 1106515;
pub const KEYC_TRIPLECLICK11_STATUS: C2RustUnnamed_34 = 1106514;
pub const KEYC_TRIPLECLICK11_PANE: C2RustUnnamed_34 = 1106513;
pub const KEYC_TRIPLECLICK10_BORDER: C2RustUnnamed_34 = 1106512;
pub const KEYC_TRIPLECLICK10_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106511;
pub const KEYC_TRIPLECLICK10_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106510;
pub const KEYC_TRIPLECLICK10_SCROLLBAR_UP: C2RustUnnamed_34 = 1106509;
pub const KEYC_TRIPLECLICK10_STATUS_DEFAULT: C2RustUnnamed_34 = 1106508;
pub const KEYC_TRIPLECLICK10_STATUS_RIGHT: C2RustUnnamed_34 = 1106507;
pub const KEYC_TRIPLECLICK10_STATUS_LEFT: C2RustUnnamed_34 = 1106506;
pub const KEYC_TRIPLECLICK10_STATUS: C2RustUnnamed_34 = 1106505;
pub const KEYC_TRIPLECLICK10_PANE: C2RustUnnamed_34 = 1106504;
pub const KEYC_TRIPLECLICK9_BORDER: C2RustUnnamed_34 = 1106503;
pub const KEYC_TRIPLECLICK9_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106502;
pub const KEYC_TRIPLECLICK9_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106501;
pub const KEYC_TRIPLECLICK9_SCROLLBAR_UP: C2RustUnnamed_34 = 1106500;
pub const KEYC_TRIPLECLICK9_STATUS_DEFAULT: C2RustUnnamed_34 = 1106499;
pub const KEYC_TRIPLECLICK9_STATUS_RIGHT: C2RustUnnamed_34 = 1106498;
pub const KEYC_TRIPLECLICK9_STATUS_LEFT: C2RustUnnamed_34 = 1106497;
pub const KEYC_TRIPLECLICK9_STATUS: C2RustUnnamed_34 = 1106496;
pub const KEYC_TRIPLECLICK9_PANE: C2RustUnnamed_34 = 1106495;
pub const KEYC_TRIPLECLICK8_BORDER: C2RustUnnamed_34 = 1106494;
pub const KEYC_TRIPLECLICK8_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106493;
pub const KEYC_TRIPLECLICK8_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106492;
pub const KEYC_TRIPLECLICK8_SCROLLBAR_UP: C2RustUnnamed_34 = 1106491;
pub const KEYC_TRIPLECLICK8_STATUS_DEFAULT: C2RustUnnamed_34 = 1106490;
pub const KEYC_TRIPLECLICK8_STATUS_RIGHT: C2RustUnnamed_34 = 1106489;
pub const KEYC_TRIPLECLICK8_STATUS_LEFT: C2RustUnnamed_34 = 1106488;
pub const KEYC_TRIPLECLICK8_STATUS: C2RustUnnamed_34 = 1106487;
pub const KEYC_TRIPLECLICK8_PANE: C2RustUnnamed_34 = 1106486;
pub const KEYC_TRIPLECLICK7_BORDER: C2RustUnnamed_34 = 1106485;
pub const KEYC_TRIPLECLICK7_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106484;
pub const KEYC_TRIPLECLICK7_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106483;
pub const KEYC_TRIPLECLICK7_SCROLLBAR_UP: C2RustUnnamed_34 = 1106482;
pub const KEYC_TRIPLECLICK7_STATUS_DEFAULT: C2RustUnnamed_34 = 1106481;
pub const KEYC_TRIPLECLICK7_STATUS_RIGHT: C2RustUnnamed_34 = 1106480;
pub const KEYC_TRIPLECLICK7_STATUS_LEFT: C2RustUnnamed_34 = 1106479;
pub const KEYC_TRIPLECLICK7_STATUS: C2RustUnnamed_34 = 1106478;
pub const KEYC_TRIPLECLICK7_PANE: C2RustUnnamed_34 = 1106477;
pub const KEYC_TRIPLECLICK6_BORDER: C2RustUnnamed_34 = 1106476;
pub const KEYC_TRIPLECLICK6_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106475;
pub const KEYC_TRIPLECLICK6_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106474;
pub const KEYC_TRIPLECLICK6_SCROLLBAR_UP: C2RustUnnamed_34 = 1106473;
pub const KEYC_TRIPLECLICK6_STATUS_DEFAULT: C2RustUnnamed_34 = 1106472;
pub const KEYC_TRIPLECLICK6_STATUS_RIGHT: C2RustUnnamed_34 = 1106471;
pub const KEYC_TRIPLECLICK6_STATUS_LEFT: C2RustUnnamed_34 = 1106470;
pub const KEYC_TRIPLECLICK6_STATUS: C2RustUnnamed_34 = 1106469;
pub const KEYC_TRIPLECLICK6_PANE: C2RustUnnamed_34 = 1106468;
pub const KEYC_TRIPLECLICK3_BORDER: C2RustUnnamed_34 = 1106467;
pub const KEYC_TRIPLECLICK3_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106466;
pub const KEYC_TRIPLECLICK3_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106465;
pub const KEYC_TRIPLECLICK3_SCROLLBAR_UP: C2RustUnnamed_34 = 1106464;
pub const KEYC_TRIPLECLICK3_STATUS_DEFAULT: C2RustUnnamed_34 = 1106463;
pub const KEYC_TRIPLECLICK3_STATUS_RIGHT: C2RustUnnamed_34 = 1106462;
pub const KEYC_TRIPLECLICK3_STATUS_LEFT: C2RustUnnamed_34 = 1106461;
pub const KEYC_TRIPLECLICK3_STATUS: C2RustUnnamed_34 = 1106460;
pub const KEYC_TRIPLECLICK3_PANE: C2RustUnnamed_34 = 1106459;
pub const KEYC_TRIPLECLICK2_BORDER: C2RustUnnamed_34 = 1106458;
pub const KEYC_TRIPLECLICK2_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106457;
pub const KEYC_TRIPLECLICK2_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106456;
pub const KEYC_TRIPLECLICK2_SCROLLBAR_UP: C2RustUnnamed_34 = 1106455;
pub const KEYC_TRIPLECLICK2_STATUS_DEFAULT: C2RustUnnamed_34 = 1106454;
pub const KEYC_TRIPLECLICK2_STATUS_RIGHT: C2RustUnnamed_34 = 1106453;
pub const KEYC_TRIPLECLICK2_STATUS_LEFT: C2RustUnnamed_34 = 1106452;
pub const KEYC_TRIPLECLICK2_STATUS: C2RustUnnamed_34 = 1106451;
pub const KEYC_TRIPLECLICK2_PANE: C2RustUnnamed_34 = 1106450;
pub const KEYC_TRIPLECLICK1_BORDER: C2RustUnnamed_34 = 1106449;
pub const KEYC_TRIPLECLICK1_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106448;
pub const KEYC_TRIPLECLICK1_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106447;
pub const KEYC_TRIPLECLICK1_SCROLLBAR_UP: C2RustUnnamed_34 = 1106446;
pub const KEYC_TRIPLECLICK1_STATUS_DEFAULT: C2RustUnnamed_34 = 1106445;
pub const KEYC_TRIPLECLICK1_STATUS_RIGHT: C2RustUnnamed_34 = 1106444;
pub const KEYC_TRIPLECLICK1_STATUS_LEFT: C2RustUnnamed_34 = 1106443;
pub const KEYC_TRIPLECLICK1_STATUS: C2RustUnnamed_34 = 1106442;
pub const KEYC_TRIPLECLICK1_PANE: C2RustUnnamed_34 = 1106441;
pub const KEYC_DOUBLECLICK11_BORDER: C2RustUnnamed_34 = 1106440;
pub const KEYC_DOUBLECLICK11_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106439;
pub const KEYC_DOUBLECLICK11_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106438;
pub const KEYC_DOUBLECLICK11_SCROLLBAR_UP: C2RustUnnamed_34 = 1106437;
pub const KEYC_DOUBLECLICK11_STATUS_DEFAULT: C2RustUnnamed_34 = 1106436;
pub const KEYC_DOUBLECLICK11_STATUS_RIGHT: C2RustUnnamed_34 = 1106435;
pub const KEYC_DOUBLECLICK11_STATUS_LEFT: C2RustUnnamed_34 = 1106434;
pub const KEYC_DOUBLECLICK11_STATUS: C2RustUnnamed_34 = 1106433;
pub const KEYC_DOUBLECLICK11_PANE: C2RustUnnamed_34 = 1106432;
pub const KEYC_DOUBLECLICK10_BORDER: C2RustUnnamed_34 = 1106431;
pub const KEYC_DOUBLECLICK10_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106430;
pub const KEYC_DOUBLECLICK10_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106429;
pub const KEYC_DOUBLECLICK10_SCROLLBAR_UP: C2RustUnnamed_34 = 1106428;
pub const KEYC_DOUBLECLICK10_STATUS_DEFAULT: C2RustUnnamed_34 = 1106427;
pub const KEYC_DOUBLECLICK10_STATUS_RIGHT: C2RustUnnamed_34 = 1106426;
pub const KEYC_DOUBLECLICK10_STATUS_LEFT: C2RustUnnamed_34 = 1106425;
pub const KEYC_DOUBLECLICK10_STATUS: C2RustUnnamed_34 = 1106424;
pub const KEYC_DOUBLECLICK10_PANE: C2RustUnnamed_34 = 1106423;
pub const KEYC_DOUBLECLICK9_BORDER: C2RustUnnamed_34 = 1106422;
pub const KEYC_DOUBLECLICK9_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106421;
pub const KEYC_DOUBLECLICK9_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106420;
pub const KEYC_DOUBLECLICK9_SCROLLBAR_UP: C2RustUnnamed_34 = 1106419;
pub const KEYC_DOUBLECLICK9_STATUS_DEFAULT: C2RustUnnamed_34 = 1106418;
pub const KEYC_DOUBLECLICK9_STATUS_RIGHT: C2RustUnnamed_34 = 1106417;
pub const KEYC_DOUBLECLICK9_STATUS_LEFT: C2RustUnnamed_34 = 1106416;
pub const KEYC_DOUBLECLICK9_STATUS: C2RustUnnamed_34 = 1106415;
pub const KEYC_DOUBLECLICK9_PANE: C2RustUnnamed_34 = 1106414;
pub const KEYC_DOUBLECLICK8_BORDER: C2RustUnnamed_34 = 1106413;
pub const KEYC_DOUBLECLICK8_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106412;
pub const KEYC_DOUBLECLICK8_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106411;
pub const KEYC_DOUBLECLICK8_SCROLLBAR_UP: C2RustUnnamed_34 = 1106410;
pub const KEYC_DOUBLECLICK8_STATUS_DEFAULT: C2RustUnnamed_34 = 1106409;
pub const KEYC_DOUBLECLICK8_STATUS_RIGHT: C2RustUnnamed_34 = 1106408;
pub const KEYC_DOUBLECLICK8_STATUS_LEFT: C2RustUnnamed_34 = 1106407;
pub const KEYC_DOUBLECLICK8_STATUS: C2RustUnnamed_34 = 1106406;
pub const KEYC_DOUBLECLICK8_PANE: C2RustUnnamed_34 = 1106405;
pub const KEYC_DOUBLECLICK7_BORDER: C2RustUnnamed_34 = 1106404;
pub const KEYC_DOUBLECLICK7_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106403;
pub const KEYC_DOUBLECLICK7_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106402;
pub const KEYC_DOUBLECLICK7_SCROLLBAR_UP: C2RustUnnamed_34 = 1106401;
pub const KEYC_DOUBLECLICK7_STATUS_DEFAULT: C2RustUnnamed_34 = 1106400;
pub const KEYC_DOUBLECLICK7_STATUS_RIGHT: C2RustUnnamed_34 = 1106399;
pub const KEYC_DOUBLECLICK7_STATUS_LEFT: C2RustUnnamed_34 = 1106398;
pub const KEYC_DOUBLECLICK7_STATUS: C2RustUnnamed_34 = 1106397;
pub const KEYC_DOUBLECLICK7_PANE: C2RustUnnamed_34 = 1106396;
pub const KEYC_DOUBLECLICK6_BORDER: C2RustUnnamed_34 = 1106395;
pub const KEYC_DOUBLECLICK6_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106394;
pub const KEYC_DOUBLECLICK6_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106393;
pub const KEYC_DOUBLECLICK6_SCROLLBAR_UP: C2RustUnnamed_34 = 1106392;
pub const KEYC_DOUBLECLICK6_STATUS_DEFAULT: C2RustUnnamed_34 = 1106391;
pub const KEYC_DOUBLECLICK6_STATUS_RIGHT: C2RustUnnamed_34 = 1106390;
pub const KEYC_DOUBLECLICK6_STATUS_LEFT: C2RustUnnamed_34 = 1106389;
pub const KEYC_DOUBLECLICK6_STATUS: C2RustUnnamed_34 = 1106388;
pub const KEYC_DOUBLECLICK6_PANE: C2RustUnnamed_34 = 1106387;
pub const KEYC_DOUBLECLICK3_BORDER: C2RustUnnamed_34 = 1106386;
pub const KEYC_DOUBLECLICK3_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106385;
pub const KEYC_DOUBLECLICK3_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106384;
pub const KEYC_DOUBLECLICK3_SCROLLBAR_UP: C2RustUnnamed_34 = 1106383;
pub const KEYC_DOUBLECLICK3_STATUS_DEFAULT: C2RustUnnamed_34 = 1106382;
pub const KEYC_DOUBLECLICK3_STATUS_RIGHT: C2RustUnnamed_34 = 1106381;
pub const KEYC_DOUBLECLICK3_STATUS_LEFT: C2RustUnnamed_34 = 1106380;
pub const KEYC_DOUBLECLICK3_STATUS: C2RustUnnamed_34 = 1106379;
pub const KEYC_DOUBLECLICK3_PANE: C2RustUnnamed_34 = 1106378;
pub const KEYC_DOUBLECLICK2_BORDER: C2RustUnnamed_34 = 1106377;
pub const KEYC_DOUBLECLICK2_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106376;
pub const KEYC_DOUBLECLICK2_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106375;
pub const KEYC_DOUBLECLICK2_SCROLLBAR_UP: C2RustUnnamed_34 = 1106374;
pub const KEYC_DOUBLECLICK2_STATUS_DEFAULT: C2RustUnnamed_34 = 1106373;
pub const KEYC_DOUBLECLICK2_STATUS_RIGHT: C2RustUnnamed_34 = 1106372;
pub const KEYC_DOUBLECLICK2_STATUS_LEFT: C2RustUnnamed_34 = 1106371;
pub const KEYC_DOUBLECLICK2_STATUS: C2RustUnnamed_34 = 1106370;
pub const KEYC_DOUBLECLICK2_PANE: C2RustUnnamed_34 = 1106369;
pub const KEYC_DOUBLECLICK1_BORDER: C2RustUnnamed_34 = 1106368;
pub const KEYC_DOUBLECLICK1_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106367;
pub const KEYC_DOUBLECLICK1_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106366;
pub const KEYC_DOUBLECLICK1_SCROLLBAR_UP: C2RustUnnamed_34 = 1106365;
pub const KEYC_DOUBLECLICK1_STATUS_DEFAULT: C2RustUnnamed_34 = 1106364;
pub const KEYC_DOUBLECLICK1_STATUS_RIGHT: C2RustUnnamed_34 = 1106363;
pub const KEYC_DOUBLECLICK1_STATUS_LEFT: C2RustUnnamed_34 = 1106362;
pub const KEYC_DOUBLECLICK1_STATUS: C2RustUnnamed_34 = 1106361;
pub const KEYC_DOUBLECLICK1_PANE: C2RustUnnamed_34 = 1106360;
pub const KEYC_SECONDCLICK11_BORDER: C2RustUnnamed_34 = 1106359;
pub const KEYC_SECONDCLICK11_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106358;
pub const KEYC_SECONDCLICK11_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106357;
pub const KEYC_SECONDCLICK11_SCROLLBAR_UP: C2RustUnnamed_34 = 1106356;
pub const KEYC_SECONDCLICK11_STATUS_DEFAULT: C2RustUnnamed_34 = 1106355;
pub const KEYC_SECONDCLICK11_STATUS_RIGHT: C2RustUnnamed_34 = 1106354;
pub const KEYC_SECONDCLICK11_STATUS_LEFT: C2RustUnnamed_34 = 1106353;
pub const KEYC_SECONDCLICK11_STATUS: C2RustUnnamed_34 = 1106352;
pub const KEYC_SECONDCLICK11_PANE: C2RustUnnamed_34 = 1106351;
pub const KEYC_SECONDCLICK10_BORDER: C2RustUnnamed_34 = 1106350;
pub const KEYC_SECONDCLICK10_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106349;
pub const KEYC_SECONDCLICK10_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106348;
pub const KEYC_SECONDCLICK10_SCROLLBAR_UP: C2RustUnnamed_34 = 1106347;
pub const KEYC_SECONDCLICK10_STATUS_DEFAULT: C2RustUnnamed_34 = 1106346;
pub const KEYC_SECONDCLICK10_STATUS_RIGHT: C2RustUnnamed_34 = 1106345;
pub const KEYC_SECONDCLICK10_STATUS_LEFT: C2RustUnnamed_34 = 1106344;
pub const KEYC_SECONDCLICK10_STATUS: C2RustUnnamed_34 = 1106343;
pub const KEYC_SECONDCLICK10_PANE: C2RustUnnamed_34 = 1106342;
pub const KEYC_SECONDCLICK9_BORDER: C2RustUnnamed_34 = 1106341;
pub const KEYC_SECONDCLICK9_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106340;
pub const KEYC_SECONDCLICK9_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106339;
pub const KEYC_SECONDCLICK9_SCROLLBAR_UP: C2RustUnnamed_34 = 1106338;
pub const KEYC_SECONDCLICK9_STATUS_DEFAULT: C2RustUnnamed_34 = 1106337;
pub const KEYC_SECONDCLICK9_STATUS_RIGHT: C2RustUnnamed_34 = 1106336;
pub const KEYC_SECONDCLICK9_STATUS_LEFT: C2RustUnnamed_34 = 1106335;
pub const KEYC_SECONDCLICK9_STATUS: C2RustUnnamed_34 = 1106334;
pub const KEYC_SECONDCLICK9_PANE: C2RustUnnamed_34 = 1106333;
pub const KEYC_SECONDCLICK8_BORDER: C2RustUnnamed_34 = 1106332;
pub const KEYC_SECONDCLICK8_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106331;
pub const KEYC_SECONDCLICK8_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106330;
pub const KEYC_SECONDCLICK8_SCROLLBAR_UP: C2RustUnnamed_34 = 1106329;
pub const KEYC_SECONDCLICK8_STATUS_DEFAULT: C2RustUnnamed_34 = 1106328;
pub const KEYC_SECONDCLICK8_STATUS_RIGHT: C2RustUnnamed_34 = 1106327;
pub const KEYC_SECONDCLICK8_STATUS_LEFT: C2RustUnnamed_34 = 1106326;
pub const KEYC_SECONDCLICK8_STATUS: C2RustUnnamed_34 = 1106325;
pub const KEYC_SECONDCLICK8_PANE: C2RustUnnamed_34 = 1106324;
pub const KEYC_SECONDCLICK7_BORDER: C2RustUnnamed_34 = 1106323;
pub const KEYC_SECONDCLICK7_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106322;
pub const KEYC_SECONDCLICK7_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106321;
pub const KEYC_SECONDCLICK7_SCROLLBAR_UP: C2RustUnnamed_34 = 1106320;
pub const KEYC_SECONDCLICK7_STATUS_DEFAULT: C2RustUnnamed_34 = 1106319;
pub const KEYC_SECONDCLICK7_STATUS_RIGHT: C2RustUnnamed_34 = 1106318;
pub const KEYC_SECONDCLICK7_STATUS_LEFT: C2RustUnnamed_34 = 1106317;
pub const KEYC_SECONDCLICK7_STATUS: C2RustUnnamed_34 = 1106316;
pub const KEYC_SECONDCLICK7_PANE: C2RustUnnamed_34 = 1106315;
pub const KEYC_SECONDCLICK6_BORDER: C2RustUnnamed_34 = 1106314;
pub const KEYC_SECONDCLICK6_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106313;
pub const KEYC_SECONDCLICK6_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106312;
pub const KEYC_SECONDCLICK6_SCROLLBAR_UP: C2RustUnnamed_34 = 1106311;
pub const KEYC_SECONDCLICK6_STATUS_DEFAULT: C2RustUnnamed_34 = 1106310;
pub const KEYC_SECONDCLICK6_STATUS_RIGHT: C2RustUnnamed_34 = 1106309;
pub const KEYC_SECONDCLICK6_STATUS_LEFT: C2RustUnnamed_34 = 1106308;
pub const KEYC_SECONDCLICK6_STATUS: C2RustUnnamed_34 = 1106307;
pub const KEYC_SECONDCLICK6_PANE: C2RustUnnamed_34 = 1106306;
pub const KEYC_SECONDCLICK3_BORDER: C2RustUnnamed_34 = 1106305;
pub const KEYC_SECONDCLICK3_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106304;
pub const KEYC_SECONDCLICK3_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106303;
pub const KEYC_SECONDCLICK3_SCROLLBAR_UP: C2RustUnnamed_34 = 1106302;
pub const KEYC_SECONDCLICK3_STATUS_DEFAULT: C2RustUnnamed_34 = 1106301;
pub const KEYC_SECONDCLICK3_STATUS_RIGHT: C2RustUnnamed_34 = 1106300;
pub const KEYC_SECONDCLICK3_STATUS_LEFT: C2RustUnnamed_34 = 1106299;
pub const KEYC_SECONDCLICK3_STATUS: C2RustUnnamed_34 = 1106298;
pub const KEYC_SECONDCLICK3_PANE: C2RustUnnamed_34 = 1106297;
pub const KEYC_SECONDCLICK2_BORDER: C2RustUnnamed_34 = 1106296;
pub const KEYC_SECONDCLICK2_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106295;
pub const KEYC_SECONDCLICK2_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106294;
pub const KEYC_SECONDCLICK2_SCROLLBAR_UP: C2RustUnnamed_34 = 1106293;
pub const KEYC_SECONDCLICK2_STATUS_DEFAULT: C2RustUnnamed_34 = 1106292;
pub const KEYC_SECONDCLICK2_STATUS_RIGHT: C2RustUnnamed_34 = 1106291;
pub const KEYC_SECONDCLICK2_STATUS_LEFT: C2RustUnnamed_34 = 1106290;
pub const KEYC_SECONDCLICK2_STATUS: C2RustUnnamed_34 = 1106289;
pub const KEYC_SECONDCLICK2_PANE: C2RustUnnamed_34 = 1106288;
pub const KEYC_SECONDCLICK1_BORDER: C2RustUnnamed_34 = 1106287;
pub const KEYC_SECONDCLICK1_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106286;
pub const KEYC_SECONDCLICK1_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106285;
pub const KEYC_SECONDCLICK1_SCROLLBAR_UP: C2RustUnnamed_34 = 1106284;
pub const KEYC_SECONDCLICK1_STATUS_DEFAULT: C2RustUnnamed_34 = 1106283;
pub const KEYC_SECONDCLICK1_STATUS_RIGHT: C2RustUnnamed_34 = 1106282;
pub const KEYC_SECONDCLICK1_STATUS_LEFT: C2RustUnnamed_34 = 1106281;
pub const KEYC_SECONDCLICK1_STATUS: C2RustUnnamed_34 = 1106280;
pub const KEYC_SECONDCLICK1_PANE: C2RustUnnamed_34 = 1106279;
pub const KEYC_WHEELDOWN_BORDER: C2RustUnnamed_34 = 1106278;
pub const KEYC_WHEELDOWN_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106277;
pub const KEYC_WHEELDOWN_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106276;
pub const KEYC_WHEELDOWN_SCROLLBAR_UP: C2RustUnnamed_34 = 1106275;
pub const KEYC_WHEELDOWN_STATUS_DEFAULT: C2RustUnnamed_34 = 1106274;
pub const KEYC_WHEELDOWN_STATUS_RIGHT: C2RustUnnamed_34 = 1106273;
pub const KEYC_WHEELDOWN_STATUS_LEFT: C2RustUnnamed_34 = 1106272;
pub const KEYC_WHEELDOWN_STATUS: C2RustUnnamed_34 = 1106271;
pub const KEYC_WHEELDOWN_PANE: C2RustUnnamed_34 = 1106270;
pub const KEYC_WHEELUP_BORDER: C2RustUnnamed_34 = 1106269;
pub const KEYC_WHEELUP_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106268;
pub const KEYC_WHEELUP_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106267;
pub const KEYC_WHEELUP_SCROLLBAR_UP: C2RustUnnamed_34 = 1106266;
pub const KEYC_WHEELUP_STATUS_DEFAULT: C2RustUnnamed_34 = 1106265;
pub const KEYC_WHEELUP_STATUS_RIGHT: C2RustUnnamed_34 = 1106264;
pub const KEYC_WHEELUP_STATUS_LEFT: C2RustUnnamed_34 = 1106263;
pub const KEYC_WHEELUP_STATUS: C2RustUnnamed_34 = 1106262;
pub const KEYC_WHEELUP_PANE: C2RustUnnamed_34 = 1106261;
pub const KEYC_MOUSEDRAGEND11_BORDER: C2RustUnnamed_34 = 1106260;
pub const KEYC_MOUSEDRAGEND11_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106259;
pub const KEYC_MOUSEDRAGEND11_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106258;
pub const KEYC_MOUSEDRAGEND11_SCROLLBAR_UP: C2RustUnnamed_34 = 1106257;
pub const KEYC_MOUSEDRAGEND11_STATUS_DEFAULT: C2RustUnnamed_34 = 1106256;
pub const KEYC_MOUSEDRAGEND11_STATUS_RIGHT: C2RustUnnamed_34 = 1106255;
pub const KEYC_MOUSEDRAGEND11_STATUS_LEFT: C2RustUnnamed_34 = 1106254;
pub const KEYC_MOUSEDRAGEND11_STATUS: C2RustUnnamed_34 = 1106253;
pub const KEYC_MOUSEDRAGEND11_PANE: C2RustUnnamed_34 = 1106252;
pub const KEYC_MOUSEDRAGEND10_BORDER: C2RustUnnamed_34 = 1106251;
pub const KEYC_MOUSEDRAGEND10_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106250;
pub const KEYC_MOUSEDRAGEND10_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106249;
pub const KEYC_MOUSEDRAGEND10_SCROLLBAR_UP: C2RustUnnamed_34 = 1106248;
pub const KEYC_MOUSEDRAGEND10_STATUS_DEFAULT: C2RustUnnamed_34 = 1106247;
pub const KEYC_MOUSEDRAGEND10_STATUS_RIGHT: C2RustUnnamed_34 = 1106246;
pub const KEYC_MOUSEDRAGEND10_STATUS_LEFT: C2RustUnnamed_34 = 1106245;
pub const KEYC_MOUSEDRAGEND10_STATUS: C2RustUnnamed_34 = 1106244;
pub const KEYC_MOUSEDRAGEND10_PANE: C2RustUnnamed_34 = 1106243;
pub const KEYC_MOUSEDRAGEND9_BORDER: C2RustUnnamed_34 = 1106242;
pub const KEYC_MOUSEDRAGEND9_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106241;
pub const KEYC_MOUSEDRAGEND9_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106240;
pub const KEYC_MOUSEDRAGEND9_SCROLLBAR_UP: C2RustUnnamed_34 = 1106239;
pub const KEYC_MOUSEDRAGEND9_STATUS_DEFAULT: C2RustUnnamed_34 = 1106238;
pub const KEYC_MOUSEDRAGEND9_STATUS_RIGHT: C2RustUnnamed_34 = 1106237;
pub const KEYC_MOUSEDRAGEND9_STATUS_LEFT: C2RustUnnamed_34 = 1106236;
pub const KEYC_MOUSEDRAGEND9_STATUS: C2RustUnnamed_34 = 1106235;
pub const KEYC_MOUSEDRAGEND9_PANE: C2RustUnnamed_34 = 1106234;
pub const KEYC_MOUSEDRAGEND8_BORDER: C2RustUnnamed_34 = 1106233;
pub const KEYC_MOUSEDRAGEND8_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106232;
pub const KEYC_MOUSEDRAGEND8_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106231;
pub const KEYC_MOUSEDRAGEND8_SCROLLBAR_UP: C2RustUnnamed_34 = 1106230;
pub const KEYC_MOUSEDRAGEND8_STATUS_DEFAULT: C2RustUnnamed_34 = 1106229;
pub const KEYC_MOUSEDRAGEND8_STATUS_RIGHT: C2RustUnnamed_34 = 1106228;
pub const KEYC_MOUSEDRAGEND8_STATUS_LEFT: C2RustUnnamed_34 = 1106227;
pub const KEYC_MOUSEDRAGEND8_STATUS: C2RustUnnamed_34 = 1106226;
pub const KEYC_MOUSEDRAGEND8_PANE: C2RustUnnamed_34 = 1106225;
pub const KEYC_MOUSEDRAGEND7_BORDER: C2RustUnnamed_34 = 1106224;
pub const KEYC_MOUSEDRAGEND7_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106223;
pub const KEYC_MOUSEDRAGEND7_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106222;
pub const KEYC_MOUSEDRAGEND7_SCROLLBAR_UP: C2RustUnnamed_34 = 1106221;
pub const KEYC_MOUSEDRAGEND7_STATUS_DEFAULT: C2RustUnnamed_34 = 1106220;
pub const KEYC_MOUSEDRAGEND7_STATUS_RIGHT: C2RustUnnamed_34 = 1106219;
pub const KEYC_MOUSEDRAGEND7_STATUS_LEFT: C2RustUnnamed_34 = 1106218;
pub const KEYC_MOUSEDRAGEND7_STATUS: C2RustUnnamed_34 = 1106217;
pub const KEYC_MOUSEDRAGEND7_PANE: C2RustUnnamed_34 = 1106216;
pub const KEYC_MOUSEDRAGEND6_BORDER: C2RustUnnamed_34 = 1106215;
pub const KEYC_MOUSEDRAGEND6_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106214;
pub const KEYC_MOUSEDRAGEND6_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106213;
pub const KEYC_MOUSEDRAGEND6_SCROLLBAR_UP: C2RustUnnamed_34 = 1106212;
pub const KEYC_MOUSEDRAGEND6_STATUS_DEFAULT: C2RustUnnamed_34 = 1106211;
pub const KEYC_MOUSEDRAGEND6_STATUS_RIGHT: C2RustUnnamed_34 = 1106210;
pub const KEYC_MOUSEDRAGEND6_STATUS_LEFT: C2RustUnnamed_34 = 1106209;
pub const KEYC_MOUSEDRAGEND6_STATUS: C2RustUnnamed_34 = 1106208;
pub const KEYC_MOUSEDRAGEND6_PANE: C2RustUnnamed_34 = 1106207;
pub const KEYC_MOUSEDRAGEND3_BORDER: C2RustUnnamed_34 = 1106206;
pub const KEYC_MOUSEDRAGEND3_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106205;
pub const KEYC_MOUSEDRAGEND3_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106204;
pub const KEYC_MOUSEDRAGEND3_SCROLLBAR_UP: C2RustUnnamed_34 = 1106203;
pub const KEYC_MOUSEDRAGEND3_STATUS_DEFAULT: C2RustUnnamed_34 = 1106202;
pub const KEYC_MOUSEDRAGEND3_STATUS_RIGHT: C2RustUnnamed_34 = 1106201;
pub const KEYC_MOUSEDRAGEND3_STATUS_LEFT: C2RustUnnamed_34 = 1106200;
pub const KEYC_MOUSEDRAGEND3_STATUS: C2RustUnnamed_34 = 1106199;
pub const KEYC_MOUSEDRAGEND3_PANE: C2RustUnnamed_34 = 1106198;
pub const KEYC_MOUSEDRAGEND2_BORDER: C2RustUnnamed_34 = 1106197;
pub const KEYC_MOUSEDRAGEND2_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106196;
pub const KEYC_MOUSEDRAGEND2_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106195;
pub const KEYC_MOUSEDRAGEND2_SCROLLBAR_UP: C2RustUnnamed_34 = 1106194;
pub const KEYC_MOUSEDRAGEND2_STATUS_DEFAULT: C2RustUnnamed_34 = 1106193;
pub const KEYC_MOUSEDRAGEND2_STATUS_RIGHT: C2RustUnnamed_34 = 1106192;
pub const KEYC_MOUSEDRAGEND2_STATUS_LEFT: C2RustUnnamed_34 = 1106191;
pub const KEYC_MOUSEDRAGEND2_STATUS: C2RustUnnamed_34 = 1106190;
pub const KEYC_MOUSEDRAGEND2_PANE: C2RustUnnamed_34 = 1106189;
pub const KEYC_MOUSEDRAGEND1_BORDER: C2RustUnnamed_34 = 1106188;
pub const KEYC_MOUSEDRAGEND1_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106187;
pub const KEYC_MOUSEDRAGEND1_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106186;
pub const KEYC_MOUSEDRAGEND1_SCROLLBAR_UP: C2RustUnnamed_34 = 1106185;
pub const KEYC_MOUSEDRAGEND1_STATUS_DEFAULT: C2RustUnnamed_34 = 1106184;
pub const KEYC_MOUSEDRAGEND1_STATUS_RIGHT: C2RustUnnamed_34 = 1106183;
pub const KEYC_MOUSEDRAGEND1_STATUS_LEFT: C2RustUnnamed_34 = 1106182;
pub const KEYC_MOUSEDRAGEND1_STATUS: C2RustUnnamed_34 = 1106181;
pub const KEYC_MOUSEDRAGEND1_PANE: C2RustUnnamed_34 = 1106180;
pub const KEYC_MOUSEDRAG11_BORDER: C2RustUnnamed_34 = 1106179;
pub const KEYC_MOUSEDRAG11_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106178;
pub const KEYC_MOUSEDRAG11_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106177;
pub const KEYC_MOUSEDRAG11_SCROLLBAR_UP: C2RustUnnamed_34 = 1106176;
pub const KEYC_MOUSEDRAG11_STATUS_DEFAULT: C2RustUnnamed_34 = 1106175;
pub const KEYC_MOUSEDRAG11_STATUS_RIGHT: C2RustUnnamed_34 = 1106174;
pub const KEYC_MOUSEDRAG11_STATUS_LEFT: C2RustUnnamed_34 = 1106173;
pub const KEYC_MOUSEDRAG11_STATUS: C2RustUnnamed_34 = 1106172;
pub const KEYC_MOUSEDRAG11_PANE: C2RustUnnamed_34 = 1106171;
pub const KEYC_MOUSEDRAG10_BORDER: C2RustUnnamed_34 = 1106170;
pub const KEYC_MOUSEDRAG10_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106169;
pub const KEYC_MOUSEDRAG10_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106168;
pub const KEYC_MOUSEDRAG10_SCROLLBAR_UP: C2RustUnnamed_34 = 1106167;
pub const KEYC_MOUSEDRAG10_STATUS_DEFAULT: C2RustUnnamed_34 = 1106166;
pub const KEYC_MOUSEDRAG10_STATUS_RIGHT: C2RustUnnamed_34 = 1106165;
pub const KEYC_MOUSEDRAG10_STATUS_LEFT: C2RustUnnamed_34 = 1106164;
pub const KEYC_MOUSEDRAG10_STATUS: C2RustUnnamed_34 = 1106163;
pub const KEYC_MOUSEDRAG10_PANE: C2RustUnnamed_34 = 1106162;
pub const KEYC_MOUSEDRAG9_BORDER: C2RustUnnamed_34 = 1106161;
pub const KEYC_MOUSEDRAG9_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106160;
pub const KEYC_MOUSEDRAG9_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106159;
pub const KEYC_MOUSEDRAG9_SCROLLBAR_UP: C2RustUnnamed_34 = 1106158;
pub const KEYC_MOUSEDRAG9_STATUS_DEFAULT: C2RustUnnamed_34 = 1106157;
pub const KEYC_MOUSEDRAG9_STATUS_RIGHT: C2RustUnnamed_34 = 1106156;
pub const KEYC_MOUSEDRAG9_STATUS_LEFT: C2RustUnnamed_34 = 1106155;
pub const KEYC_MOUSEDRAG9_STATUS: C2RustUnnamed_34 = 1106154;
pub const KEYC_MOUSEDRAG9_PANE: C2RustUnnamed_34 = 1106153;
pub const KEYC_MOUSEDRAG8_BORDER: C2RustUnnamed_34 = 1106152;
pub const KEYC_MOUSEDRAG8_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106151;
pub const KEYC_MOUSEDRAG8_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106150;
pub const KEYC_MOUSEDRAG8_SCROLLBAR_UP: C2RustUnnamed_34 = 1106149;
pub const KEYC_MOUSEDRAG8_STATUS_DEFAULT: C2RustUnnamed_34 = 1106148;
pub const KEYC_MOUSEDRAG8_STATUS_RIGHT: C2RustUnnamed_34 = 1106147;
pub const KEYC_MOUSEDRAG8_STATUS_LEFT: C2RustUnnamed_34 = 1106146;
pub const KEYC_MOUSEDRAG8_STATUS: C2RustUnnamed_34 = 1106145;
pub const KEYC_MOUSEDRAG8_PANE: C2RustUnnamed_34 = 1106144;
pub const KEYC_MOUSEDRAG7_BORDER: C2RustUnnamed_34 = 1106143;
pub const KEYC_MOUSEDRAG7_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106142;
pub const KEYC_MOUSEDRAG7_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106141;
pub const KEYC_MOUSEDRAG7_SCROLLBAR_UP: C2RustUnnamed_34 = 1106140;
pub const KEYC_MOUSEDRAG7_STATUS_DEFAULT: C2RustUnnamed_34 = 1106139;
pub const KEYC_MOUSEDRAG7_STATUS_RIGHT: C2RustUnnamed_34 = 1106138;
pub const KEYC_MOUSEDRAG7_STATUS_LEFT: C2RustUnnamed_34 = 1106137;
pub const KEYC_MOUSEDRAG7_STATUS: C2RustUnnamed_34 = 1106136;
pub const KEYC_MOUSEDRAG7_PANE: C2RustUnnamed_34 = 1106135;
pub const KEYC_MOUSEDRAG6_BORDER: C2RustUnnamed_34 = 1106134;
pub const KEYC_MOUSEDRAG6_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106133;
pub const KEYC_MOUSEDRAG6_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106132;
pub const KEYC_MOUSEDRAG6_SCROLLBAR_UP: C2RustUnnamed_34 = 1106131;
pub const KEYC_MOUSEDRAG6_STATUS_DEFAULT: C2RustUnnamed_34 = 1106130;
pub const KEYC_MOUSEDRAG6_STATUS_RIGHT: C2RustUnnamed_34 = 1106129;
pub const KEYC_MOUSEDRAG6_STATUS_LEFT: C2RustUnnamed_34 = 1106128;
pub const KEYC_MOUSEDRAG6_STATUS: C2RustUnnamed_34 = 1106127;
pub const KEYC_MOUSEDRAG6_PANE: C2RustUnnamed_34 = 1106126;
pub const KEYC_MOUSEDRAG3_BORDER: C2RustUnnamed_34 = 1106125;
pub const KEYC_MOUSEDRAG3_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106124;
pub const KEYC_MOUSEDRAG3_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106123;
pub const KEYC_MOUSEDRAG3_SCROLLBAR_UP: C2RustUnnamed_34 = 1106122;
pub const KEYC_MOUSEDRAG3_STATUS_DEFAULT: C2RustUnnamed_34 = 1106121;
pub const KEYC_MOUSEDRAG3_STATUS_RIGHT: C2RustUnnamed_34 = 1106120;
pub const KEYC_MOUSEDRAG3_STATUS_LEFT: C2RustUnnamed_34 = 1106119;
pub const KEYC_MOUSEDRAG3_STATUS: C2RustUnnamed_34 = 1106118;
pub const KEYC_MOUSEDRAG3_PANE: C2RustUnnamed_34 = 1106117;
pub const KEYC_MOUSEDRAG2_BORDER: C2RustUnnamed_34 = 1106116;
pub const KEYC_MOUSEDRAG2_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106115;
pub const KEYC_MOUSEDRAG2_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106114;
pub const KEYC_MOUSEDRAG2_SCROLLBAR_UP: C2RustUnnamed_34 = 1106113;
pub const KEYC_MOUSEDRAG2_STATUS_DEFAULT: C2RustUnnamed_34 = 1106112;
pub const KEYC_MOUSEDRAG2_STATUS_RIGHT: C2RustUnnamed_34 = 1106111;
pub const KEYC_MOUSEDRAG2_STATUS_LEFT: C2RustUnnamed_34 = 1106110;
pub const KEYC_MOUSEDRAG2_STATUS: C2RustUnnamed_34 = 1106109;
pub const KEYC_MOUSEDRAG2_PANE: C2RustUnnamed_34 = 1106108;
pub const KEYC_MOUSEDRAG1_BORDER: C2RustUnnamed_34 = 1106107;
pub const KEYC_MOUSEDRAG1_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106106;
pub const KEYC_MOUSEDRAG1_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106105;
pub const KEYC_MOUSEDRAG1_SCROLLBAR_UP: C2RustUnnamed_34 = 1106104;
pub const KEYC_MOUSEDRAG1_STATUS_DEFAULT: C2RustUnnamed_34 = 1106103;
pub const KEYC_MOUSEDRAG1_STATUS_RIGHT: C2RustUnnamed_34 = 1106102;
pub const KEYC_MOUSEDRAG1_STATUS_LEFT: C2RustUnnamed_34 = 1106101;
pub const KEYC_MOUSEDRAG1_STATUS: C2RustUnnamed_34 = 1106100;
pub const KEYC_MOUSEDRAG1_PANE: C2RustUnnamed_34 = 1106099;
pub const KEYC_MOUSEUP11_BORDER: C2RustUnnamed_34 = 1106098;
pub const KEYC_MOUSEUP11_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106097;
pub const KEYC_MOUSEUP11_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106096;
pub const KEYC_MOUSEUP11_SCROLLBAR_UP: C2RustUnnamed_34 = 1106095;
pub const KEYC_MOUSEUP11_STATUS_DEFAULT: C2RustUnnamed_34 = 1106094;
pub const KEYC_MOUSEUP11_STATUS_RIGHT: C2RustUnnamed_34 = 1106093;
pub const KEYC_MOUSEUP11_STATUS_LEFT: C2RustUnnamed_34 = 1106092;
pub const KEYC_MOUSEUP11_STATUS: C2RustUnnamed_34 = 1106091;
pub const KEYC_MOUSEUP11_PANE: C2RustUnnamed_34 = 1106090;
pub const KEYC_MOUSEUP10_BORDER: C2RustUnnamed_34 = 1106089;
pub const KEYC_MOUSEUP10_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106088;
pub const KEYC_MOUSEUP10_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106087;
pub const KEYC_MOUSEUP10_SCROLLBAR_UP: C2RustUnnamed_34 = 1106086;
pub const KEYC_MOUSEUP10_STATUS_DEFAULT: C2RustUnnamed_34 = 1106085;
pub const KEYC_MOUSEUP10_STATUS_RIGHT: C2RustUnnamed_34 = 1106084;
pub const KEYC_MOUSEUP10_STATUS_LEFT: C2RustUnnamed_34 = 1106083;
pub const KEYC_MOUSEUP10_STATUS: C2RustUnnamed_34 = 1106082;
pub const KEYC_MOUSEUP10_PANE: C2RustUnnamed_34 = 1106081;
pub const KEYC_MOUSEUP9_BORDER: C2RustUnnamed_34 = 1106080;
pub const KEYC_MOUSEUP9_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106079;
pub const KEYC_MOUSEUP9_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106078;
pub const KEYC_MOUSEUP9_SCROLLBAR_UP: C2RustUnnamed_34 = 1106077;
pub const KEYC_MOUSEUP9_STATUS_DEFAULT: C2RustUnnamed_34 = 1106076;
pub const KEYC_MOUSEUP9_STATUS_RIGHT: C2RustUnnamed_34 = 1106075;
pub const KEYC_MOUSEUP9_STATUS_LEFT: C2RustUnnamed_34 = 1106074;
pub const KEYC_MOUSEUP9_STATUS: C2RustUnnamed_34 = 1106073;
pub const KEYC_MOUSEUP9_PANE: C2RustUnnamed_34 = 1106072;
pub const KEYC_MOUSEUP8_BORDER: C2RustUnnamed_34 = 1106071;
pub const KEYC_MOUSEUP8_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106070;
pub const KEYC_MOUSEUP8_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106069;
pub const KEYC_MOUSEUP8_SCROLLBAR_UP: C2RustUnnamed_34 = 1106068;
pub const KEYC_MOUSEUP8_STATUS_DEFAULT: C2RustUnnamed_34 = 1106067;
pub const KEYC_MOUSEUP8_STATUS_RIGHT: C2RustUnnamed_34 = 1106066;
pub const KEYC_MOUSEUP8_STATUS_LEFT: C2RustUnnamed_34 = 1106065;
pub const KEYC_MOUSEUP8_STATUS: C2RustUnnamed_34 = 1106064;
pub const KEYC_MOUSEUP8_PANE: C2RustUnnamed_34 = 1106063;
pub const KEYC_MOUSEUP7_BORDER: C2RustUnnamed_34 = 1106062;
pub const KEYC_MOUSEUP7_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106061;
pub const KEYC_MOUSEUP7_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106060;
pub const KEYC_MOUSEUP7_SCROLLBAR_UP: C2RustUnnamed_34 = 1106059;
pub const KEYC_MOUSEUP7_STATUS_DEFAULT: C2RustUnnamed_34 = 1106058;
pub const KEYC_MOUSEUP7_STATUS_RIGHT: C2RustUnnamed_34 = 1106057;
pub const KEYC_MOUSEUP7_STATUS_LEFT: C2RustUnnamed_34 = 1106056;
pub const KEYC_MOUSEUP7_STATUS: C2RustUnnamed_34 = 1106055;
pub const KEYC_MOUSEUP7_PANE: C2RustUnnamed_34 = 1106054;
pub const KEYC_MOUSEUP6_BORDER: C2RustUnnamed_34 = 1106053;
pub const KEYC_MOUSEUP6_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106052;
pub const KEYC_MOUSEUP6_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106051;
pub const KEYC_MOUSEUP6_SCROLLBAR_UP: C2RustUnnamed_34 = 1106050;
pub const KEYC_MOUSEUP6_STATUS_DEFAULT: C2RustUnnamed_34 = 1106049;
pub const KEYC_MOUSEUP6_STATUS_RIGHT: C2RustUnnamed_34 = 1106048;
pub const KEYC_MOUSEUP6_STATUS_LEFT: C2RustUnnamed_34 = 1106047;
pub const KEYC_MOUSEUP6_STATUS: C2RustUnnamed_34 = 1106046;
pub const KEYC_MOUSEUP6_PANE: C2RustUnnamed_34 = 1106045;
pub const KEYC_MOUSEUP3_BORDER: C2RustUnnamed_34 = 1106044;
pub const KEYC_MOUSEUP3_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106043;
pub const KEYC_MOUSEUP3_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106042;
pub const KEYC_MOUSEUP3_SCROLLBAR_UP: C2RustUnnamed_34 = 1106041;
pub const KEYC_MOUSEUP3_STATUS_DEFAULT: C2RustUnnamed_34 = 1106040;
pub const KEYC_MOUSEUP3_STATUS_RIGHT: C2RustUnnamed_34 = 1106039;
pub const KEYC_MOUSEUP3_STATUS_LEFT: C2RustUnnamed_34 = 1106038;
pub const KEYC_MOUSEUP3_STATUS: C2RustUnnamed_34 = 1106037;
pub const KEYC_MOUSEUP3_PANE: C2RustUnnamed_34 = 1106036;
pub const KEYC_MOUSEUP2_BORDER: C2RustUnnamed_34 = 1106035;
pub const KEYC_MOUSEUP2_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106034;
pub const KEYC_MOUSEUP2_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106033;
pub const KEYC_MOUSEUP2_SCROLLBAR_UP: C2RustUnnamed_34 = 1106032;
pub const KEYC_MOUSEUP2_STATUS_DEFAULT: C2RustUnnamed_34 = 1106031;
pub const KEYC_MOUSEUP2_STATUS_RIGHT: C2RustUnnamed_34 = 1106030;
pub const KEYC_MOUSEUP2_STATUS_LEFT: C2RustUnnamed_34 = 1106029;
pub const KEYC_MOUSEUP2_STATUS: C2RustUnnamed_34 = 1106028;
pub const KEYC_MOUSEUP2_PANE: C2RustUnnamed_34 = 1106027;
pub const KEYC_MOUSEUP1_BORDER: C2RustUnnamed_34 = 1106026;
pub const KEYC_MOUSEUP1_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106025;
pub const KEYC_MOUSEUP1_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106024;
pub const KEYC_MOUSEUP1_SCROLLBAR_UP: C2RustUnnamed_34 = 1106023;
pub const KEYC_MOUSEUP1_STATUS_DEFAULT: C2RustUnnamed_34 = 1106022;
pub const KEYC_MOUSEUP1_STATUS_RIGHT: C2RustUnnamed_34 = 1106021;
pub const KEYC_MOUSEUP1_STATUS_LEFT: C2RustUnnamed_34 = 1106020;
pub const KEYC_MOUSEUP1_STATUS: C2RustUnnamed_34 = 1106019;
pub const KEYC_MOUSEUP1_PANE: C2RustUnnamed_34 = 1106018;
pub const KEYC_MOUSEDOWN11_BORDER: C2RustUnnamed_34 = 1106017;
pub const KEYC_MOUSEDOWN11_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106016;
pub const KEYC_MOUSEDOWN11_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106015;
pub const KEYC_MOUSEDOWN11_SCROLLBAR_UP: C2RustUnnamed_34 = 1106014;
pub const KEYC_MOUSEDOWN11_STATUS_DEFAULT: C2RustUnnamed_34 = 1106013;
pub const KEYC_MOUSEDOWN11_STATUS_RIGHT: C2RustUnnamed_34 = 1106012;
pub const KEYC_MOUSEDOWN11_STATUS_LEFT: C2RustUnnamed_34 = 1106011;
pub const KEYC_MOUSEDOWN11_STATUS: C2RustUnnamed_34 = 1106010;
pub const KEYC_MOUSEDOWN11_PANE: C2RustUnnamed_34 = 1106009;
pub const KEYC_MOUSEDOWN10_BORDER: C2RustUnnamed_34 = 1106008;
pub const KEYC_MOUSEDOWN10_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1106007;
pub const KEYC_MOUSEDOWN10_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1106006;
pub const KEYC_MOUSEDOWN10_SCROLLBAR_UP: C2RustUnnamed_34 = 1106005;
pub const KEYC_MOUSEDOWN10_STATUS_DEFAULT: C2RustUnnamed_34 = 1106004;
pub const KEYC_MOUSEDOWN10_STATUS_RIGHT: C2RustUnnamed_34 = 1106003;
pub const KEYC_MOUSEDOWN10_STATUS_LEFT: C2RustUnnamed_34 = 1106002;
pub const KEYC_MOUSEDOWN10_STATUS: C2RustUnnamed_34 = 1106001;
pub const KEYC_MOUSEDOWN10_PANE: C2RustUnnamed_34 = 1106000;
pub const KEYC_MOUSEDOWN9_BORDER: C2RustUnnamed_34 = 1105999;
pub const KEYC_MOUSEDOWN9_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1105998;
pub const KEYC_MOUSEDOWN9_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1105997;
pub const KEYC_MOUSEDOWN9_SCROLLBAR_UP: C2RustUnnamed_34 = 1105996;
pub const KEYC_MOUSEDOWN9_STATUS_DEFAULT: C2RustUnnamed_34 = 1105995;
pub const KEYC_MOUSEDOWN9_STATUS_RIGHT: C2RustUnnamed_34 = 1105994;
pub const KEYC_MOUSEDOWN9_STATUS_LEFT: C2RustUnnamed_34 = 1105993;
pub const KEYC_MOUSEDOWN9_STATUS: C2RustUnnamed_34 = 1105992;
pub const KEYC_MOUSEDOWN9_PANE: C2RustUnnamed_34 = 1105991;
pub const KEYC_MOUSEDOWN8_BORDER: C2RustUnnamed_34 = 1105990;
pub const KEYC_MOUSEDOWN8_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1105989;
pub const KEYC_MOUSEDOWN8_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1105988;
pub const KEYC_MOUSEDOWN8_SCROLLBAR_UP: C2RustUnnamed_34 = 1105987;
pub const KEYC_MOUSEDOWN8_STATUS_DEFAULT: C2RustUnnamed_34 = 1105986;
pub const KEYC_MOUSEDOWN8_STATUS_RIGHT: C2RustUnnamed_34 = 1105985;
pub const KEYC_MOUSEDOWN8_STATUS_LEFT: C2RustUnnamed_34 = 1105984;
pub const KEYC_MOUSEDOWN8_STATUS: C2RustUnnamed_34 = 1105983;
pub const KEYC_MOUSEDOWN8_PANE: C2RustUnnamed_34 = 1105982;
pub const KEYC_MOUSEDOWN7_BORDER: C2RustUnnamed_34 = 1105981;
pub const KEYC_MOUSEDOWN7_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1105980;
pub const KEYC_MOUSEDOWN7_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1105979;
pub const KEYC_MOUSEDOWN7_SCROLLBAR_UP: C2RustUnnamed_34 = 1105978;
pub const KEYC_MOUSEDOWN7_STATUS_DEFAULT: C2RustUnnamed_34 = 1105977;
pub const KEYC_MOUSEDOWN7_STATUS_RIGHT: C2RustUnnamed_34 = 1105976;
pub const KEYC_MOUSEDOWN7_STATUS_LEFT: C2RustUnnamed_34 = 1105975;
pub const KEYC_MOUSEDOWN7_STATUS: C2RustUnnamed_34 = 1105974;
pub const KEYC_MOUSEDOWN7_PANE: C2RustUnnamed_34 = 1105973;
pub const KEYC_MOUSEDOWN6_BORDER: C2RustUnnamed_34 = 1105972;
pub const KEYC_MOUSEDOWN6_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1105971;
pub const KEYC_MOUSEDOWN6_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1105970;
pub const KEYC_MOUSEDOWN6_SCROLLBAR_UP: C2RustUnnamed_34 = 1105969;
pub const KEYC_MOUSEDOWN6_STATUS_DEFAULT: C2RustUnnamed_34 = 1105968;
pub const KEYC_MOUSEDOWN6_STATUS_RIGHT: C2RustUnnamed_34 = 1105967;
pub const KEYC_MOUSEDOWN6_STATUS_LEFT: C2RustUnnamed_34 = 1105966;
pub const KEYC_MOUSEDOWN6_STATUS: C2RustUnnamed_34 = 1105965;
pub const KEYC_MOUSEDOWN6_PANE: C2RustUnnamed_34 = 1105964;
pub const KEYC_MOUSEDOWN3_BORDER: C2RustUnnamed_34 = 1105963;
pub const KEYC_MOUSEDOWN3_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1105962;
pub const KEYC_MOUSEDOWN3_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1105961;
pub const KEYC_MOUSEDOWN3_SCROLLBAR_UP: C2RustUnnamed_34 = 1105960;
pub const KEYC_MOUSEDOWN3_STATUS_DEFAULT: C2RustUnnamed_34 = 1105959;
pub const KEYC_MOUSEDOWN3_STATUS_RIGHT: C2RustUnnamed_34 = 1105958;
pub const KEYC_MOUSEDOWN3_STATUS_LEFT: C2RustUnnamed_34 = 1105957;
pub const KEYC_MOUSEDOWN3_STATUS: C2RustUnnamed_34 = 1105956;
pub const KEYC_MOUSEDOWN3_PANE: C2RustUnnamed_34 = 1105955;
pub const KEYC_MOUSEDOWN2_BORDER: C2RustUnnamed_34 = 1105954;
pub const KEYC_MOUSEDOWN2_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1105953;
pub const KEYC_MOUSEDOWN2_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1105952;
pub const KEYC_MOUSEDOWN2_SCROLLBAR_UP: C2RustUnnamed_34 = 1105951;
pub const KEYC_MOUSEDOWN2_STATUS_DEFAULT: C2RustUnnamed_34 = 1105950;
pub const KEYC_MOUSEDOWN2_STATUS_RIGHT: C2RustUnnamed_34 = 1105949;
pub const KEYC_MOUSEDOWN2_STATUS_LEFT: C2RustUnnamed_34 = 1105948;
pub const KEYC_MOUSEDOWN2_STATUS: C2RustUnnamed_34 = 1105947;
pub const KEYC_MOUSEDOWN2_PANE: C2RustUnnamed_34 = 1105946;
pub const KEYC_MOUSEDOWN1_BORDER: C2RustUnnamed_34 = 1105945;
pub const KEYC_MOUSEDOWN1_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1105944;
pub const KEYC_MOUSEDOWN1_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1105943;
pub const KEYC_MOUSEDOWN1_SCROLLBAR_UP: C2RustUnnamed_34 = 1105942;
pub const KEYC_MOUSEDOWN1_STATUS_DEFAULT: C2RustUnnamed_34 = 1105941;
pub const KEYC_MOUSEDOWN1_STATUS_RIGHT: C2RustUnnamed_34 = 1105940;
pub const KEYC_MOUSEDOWN1_STATUS_LEFT: C2RustUnnamed_34 = 1105939;
pub const KEYC_MOUSEDOWN1_STATUS: C2RustUnnamed_34 = 1105938;
pub const KEYC_MOUSEDOWN1_PANE: C2RustUnnamed_34 = 1105937;
pub const KEYC_MOUSEMOVE_BORDER: C2RustUnnamed_34 = 1105936;
pub const KEYC_MOUSEMOVE_SCROLLBAR_DOWN: C2RustUnnamed_34 = 1105935;
pub const KEYC_MOUSEMOVE_SCROLLBAR_SLIDER: C2RustUnnamed_34 = 1105934;
pub const KEYC_MOUSEMOVE_SCROLLBAR_UP: C2RustUnnamed_34 = 1105933;
pub const KEYC_MOUSEMOVE_STATUS_DEFAULT: C2RustUnnamed_34 = 1105932;
pub const KEYC_MOUSEMOVE_STATUS_RIGHT: C2RustUnnamed_34 = 1105931;
pub const KEYC_MOUSEMOVE_STATUS_LEFT: C2RustUnnamed_34 = 1105930;
pub const KEYC_MOUSEMOVE_STATUS: C2RustUnnamed_34 = 1105929;
pub const KEYC_MOUSEMOVE_PANE: C2RustUnnamed_34 = 1105928;
pub const KEYC_DOUBLECLICK: C2RustUnnamed_34 = 1105927;
pub const KEYC_DRAGGING: C2RustUnnamed_34 = 1105926;
pub const KEYC_MOUSE: C2RustUnnamed_34 = 1105925;
pub const KEYC_PASTE_END: C2RustUnnamed_34 = 1105924;
pub const KEYC_PASTE_START: C2RustUnnamed_34 = 1105923;
pub const KEYC_ANY: C2RustUnnamed_34 = 1105922;
pub const KEYC_FOCUS_OUT: C2RustUnnamed_34 = 1105921;
pub const KEYC_FOCUS_IN: C2RustUnnamed_34 = 1105920;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct menu_item {
    pub name: *const i8,
    pub key: key_code,
    pub command: *const i8,
}
pub type cmd_parse_status = u32;
pub const CMD_PARSE_SUCCESS: cmd_parse_status = 1;
pub const CMD_PARSE_ERROR: cmd_parse_status = 0;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct cmd_parse_result {
    pub status: cmd_parse_status,
    pub cmdlist: *mut cmd_list,
    pub error: *mut i8,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct cmd_parse_input {
    pub flags: i32,
    pub file: *const i8,
    pub line: u_int,
    pub item: *mut cmdq_item,
    pub c: *mut client,
    pub fs: cmd_find_state,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct options_array {
    pub rbh_root: *mut options_array_item,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub union options_value {
    pub string: *mut i8,
    pub number: i64,
    pub style: style,
    pub array: options_array,
    pub cmdlist: *mut cmd_list,
}
pub type options_table_type = u32;
pub const OPTIONS_TABLE_COMMAND: options_table_type = 6;
pub const OPTIONS_TABLE_CHOICE: options_table_type = 5;
pub const OPTIONS_TABLE_FLAG: options_table_type = 4;
pub const OPTIONS_TABLE_COLOUR: options_table_type = 3;
pub const OPTIONS_TABLE_KEY: options_table_type = 2;
pub const OPTIONS_TABLE_NUMBER: options_table_type = 1;
pub const OPTIONS_TABLE_STRING: options_table_type = 0;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct options_table_entry {
    pub name: *const i8,
    pub alternative_name: *const i8,
    pub type_0: options_table_type,
    pub scope: i32,
    pub flags: i32,
    pub minimum: u_int,
    pub maximum: u_int,
    pub choices: *mut *const i8,
    pub default_str: *const i8,
    pub default_num: i64,
    pub default_arr: *mut *const i8,
    pub separator: *const i8,
    pub pattern: *const i8,
    pub text: *const i8,
    pub unit: *const i8,
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct mode_tree_sort_criteria {
    pub field: u_int,
    pub reversed: i32,
}
pub type mode_tree_build_cb = Option<
    unsafe extern "C" fn(
        *mut libc::c_void,
        *mut mode_tree_sort_criteria,
        *mut uint64_t,
        *const i8,
    ) -> (),
>;
pub type mode_tree_draw_cb = Option<
    unsafe extern "C" fn(
        *mut libc::c_void,
        *mut libc::c_void,
        *mut screen_write_ctx,
        u_int,
        u_int,
    ) -> (),
>;
pub type mode_tree_search_cb =
    Option<unsafe extern "C" fn(*mut libc::c_void, *mut libc::c_void, *const i8) -> i32>;
pub type mode_tree_menu_cb =
    Option<unsafe extern "C" fn(*mut libc::c_void, *mut client, key_code) -> ()>;
pub type mode_tree_height_cb = Option<unsafe extern "C" fn(*mut libc::c_void, u_int) -> u_int>;
pub type mode_tree_key_cb =
    Option<unsafe extern "C" fn(*mut libc::c_void, *mut libc::c_void, u_int) -> key_code>;
pub type mode_tree_each_cb =
    Option<unsafe extern "C" fn(*mut libc::c_void, *mut libc::c_void, *mut client, key_code) -> ()>;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_customize_modedata {
    pub wp: *mut window_pane,
    pub dead: i32,
    pub references: i32,
    pub data: *mut mode_tree_data,
    pub format: *mut i8,
    pub hide_global: i32,
    pub prompt_flags: i32,
    pub item_list: *mut *mut window_customize_itemdata,
    pub item_size: u_int,
    pub fs: cmd_find_state,
    pub change: window_customize_change,
}
pub type window_customize_change = u32;
pub const WINDOW_CUSTOMIZE_RESET: window_customize_change = 1;
pub const WINDOW_CUSTOMIZE_UNSET: window_customize_change = 0;
#[derive(Copy, Clone)]
#[repr(C)]
pub struct window_customize_itemdata {
    pub data: *mut window_customize_modedata,
    pub scope: window_customize_scope,
    pub table: *mut i8,
    pub key: key_code,
    pub oo: *mut options,
    pub name: *mut i8,
    pub idx: i32,
}
pub type window_customize_scope = u32;
pub const WINDOW_CUSTOMIZE_PANE: window_customize_scope = 7;
pub const WINDOW_CUSTOMIZE_WINDOW: window_customize_scope = 6;
pub const WINDOW_CUSTOMIZE_GLOBAL_WINDOW: window_customize_scope = 5;
pub const WINDOW_CUSTOMIZE_SESSION: window_customize_scope = 4;
pub const WINDOW_CUSTOMIZE_GLOBAL_SESSION: window_customize_scope = 3;
pub const WINDOW_CUSTOMIZE_SERVER: window_customize_scope = 2;
pub const WINDOW_CUSTOMIZE_KEY: window_customize_scope = 1;
pub const WINDOW_CUSTOMIZE_NONE: window_customize_scope = 0;
static mut window_customize_menu_items: [menu_item; 9] = [
    {
        let mut init = menu_item {
            name: b"Select\0" as *const u8 as *const i8,
            key: '\r' as i32 as key_code,
            command: 0 as *const i8,
        };
        init
    },
    {
        let mut init = menu_item {
            name: b"Expand\0" as *const u8 as *const i8,
            key: KEYC_RIGHT as i32 as key_code,
            command: 0 as *const i8,
        };
        init
    },
    {
        let mut init = menu_item {
            name: b"\0" as *const u8 as *const i8,
            key: 0xff000000000 as u64,
            command: 0 as *const i8,
        };
        init
    },
    {
        let mut init = menu_item {
            name: b"Tag\0" as *const u8 as *const i8,
            key: 't' as i32 as key_code,
            command: 0 as *const i8,
        };
        init
    },
    {
        let mut init = menu_item {
            name: b"Tag All\0" as *const u8 as *const i8,
            key: '\u{14}' as i32 as key_code,
            command: 0 as *const i8,
        };
        init
    },
    {
        let mut init = menu_item {
            name: b"Tag None\0" as *const u8 as *const i8,
            key: 'T' as i32 as key_code,
            command: 0 as *const i8,
        };
        init
    },
    {
        let mut init = menu_item {
            name: b"\0" as *const u8 as *const i8,
            key: 0xff000000000 as u64,
            command: 0 as *const i8,
        };
        init
    },
    {
        let mut init = menu_item {
            name: b"Cancel\0" as *const u8 as *const i8,
            key: 'q' as i32 as key_code,
            command: 0 as *const i8,
        };
        init
    },
    {
        let mut init = menu_item {
            name: 0 as *const i8,
            key: 0xff000000000 as u64,
            command: 0 as *const i8,
        };
        init
    },
];
#[no_mangle]
pub static mut window_customize_mode: window_mode = {
    {
        let mut init = window_mode { name : b"options-mode\0" as * const u8 as * const i8 , default_format : b"#{?is_option,#{?option_is_global,,#[reverse](#{option_scope})#[default] }#[ignore]#{option_value}#{?option_unit, #{option_unit},},#{key}}\0" as * const u8 as * const i8 , init : Some (window_customize_init as unsafe extern "C" fn (* mut window_mode_entry , * mut cmd_find_state , * mut args ,) -> * mut screen ,) , free : Some (window_customize_free as unsafe extern "C" fn (* mut window_mode_entry) -> () ,) , resize : Some (window_customize_resize as unsafe extern "C" fn (* mut window_mode_entry , u_int , u_int) -> () ,) , update : None , key : Some (window_customize_key as unsafe extern "C" fn (* mut window_mode_entry , * mut client , * mut session , * mut winlink , key_code , * mut mouse_event ,) -> () ,) , key_table : None , command : None , formats : None , } ;
        init
    }
};
extern "C" fn window_customize_get_tag(
    mut o: *mut options_entry,
    mut idx: i32,
    mut oe: *const options_table_entry,
) -> uint64_t {
    let mut offset: uint64_t = 0;
    if oe.is_null() {
        return o as uint64_t;
    }
    offset = ((unsafe { (oe as *mut i8).offset_from(options_table.as_ptr() as *mut i8) }) as i64
        as u64)
        .wrapping_div(::core::mem::size_of::<options_table_entry>() as u64);
    return ((2 as u64) << 62 as i32
        | (offset << 32 as i32) as u64
        | ((idx + 1 as i32) << 1 as i32) as u64
        | 1 as i32 as u64) as uint64_t;
}
extern "C" fn window_customize_get_tree(
    mut scope: window_customize_scope,
    mut fs: *mut cmd_find_state,
) -> *mut options {
    match scope as u32 {
        0 | 1 => return std::ptr::null_mut::<options>(),
        2 => return unsafe { global_options },
        3 => return unsafe { global_s_options },
        4 => return unsafe { (*(*fs).s).options },
        5 => return unsafe { global_w_options },
        6 => return unsafe { (*(*fs).w).options },
        7 => return unsafe { (*(*fs).wp).options },
        _ => {}
    }
    return std::ptr::null_mut::<options>();
}
extern "C" fn window_customize_check_item(
    mut data: *mut window_customize_modedata,
    mut item: *mut window_customize_itemdata,
    mut fsp: *mut cmd_find_state,
) -> i32 {
    let mut fs: cmd_find_state = cmd_find_state {
        flags: 0,
        current: std::ptr::null_mut::<cmd_find_state>(),
        s: std::ptr::null_mut::<session>(),
        wl: std::ptr::null_mut::<winlink>(),
        w: std::ptr::null_mut::<window>(),
        wp: std::ptr::null_mut::<window_pane>(),
        idx: 0,
    };
    if fsp.is_null() {
        fsp = &mut fs;
    }
    if (unsafe { cmd_find_valid_state(&mut (*data).fs) }) != 0 {
        (unsafe { cmd_find_copy_state(fsp, &mut (*data).fs) });
    } else {
        (unsafe { cmd_find_from_pane(fsp, (*data).wp, 0 as i32) });
    }
    return ((unsafe { (*item).oo }) == window_customize_get_tree(unsafe { (*item).scope }, fsp))
        as i32;
}
extern "C" fn window_customize_get_key(
    mut item: *mut window_customize_itemdata,
    mut ktp: *mut *mut key_table,
    mut bdp: *mut *mut key_binding,
) -> i32 {
    let mut kt: *mut key_table = std::ptr::null_mut::<key_table>();
    let mut bd: *mut key_binding = std::ptr::null_mut::<key_binding>();
    kt = unsafe { key_bindings_get_table((*item).table, 0 as i32) };
    if kt.is_null() {
        return 0 as i32;
    }
    bd = unsafe { key_bindings_get(kt, (*item).key) };
    if bd.is_null() {
        return 0 as i32;
    }
    if !ktp.is_null() {
        (unsafe { *ktp = kt });
    }
    if !bdp.is_null() {
        (unsafe { *bdp = bd });
    }
    return 1 as i32;
}
extern "C" fn window_customize_scope_text(
    mut scope: window_customize_scope,
    mut fs: *mut cmd_find_state,
) -> *mut i8 {
    let mut s: *mut i8 = std::ptr::null_mut::<i8>();
    let mut idx: u_int = 0;
    match scope as u32 {
        7 => {
            (unsafe { window_pane_index((*fs).wp, &mut idx) });
            (unsafe {
                xasprintf(
                    &mut s as *mut *mut i8,
                    b"pane %u\0" as *const u8 as *const i8,
                    idx,
                )
            });
        }
        4 => {
            (unsafe {
                xasprintf(
                    &mut s as *mut *mut i8,
                    b"session %s\0" as *const u8 as *const i8,
                    (*(*fs).s).name,
                )
            });
        }
        6 => {
            (unsafe {
                xasprintf(
                    &mut s as *mut *mut i8,
                    b"window %u\0" as *const u8 as *const i8,
                    (*(*fs).wl).idx,
                )
            });
        }
        _ => {
            s = unsafe { xstrdup(b"\0" as *const u8 as *const i8) };
        }
    }
    return s;
}
extern "C" fn window_customize_add_item(
    mut data: *mut window_customize_modedata,
) -> *mut window_customize_itemdata {
    let mut item: *mut window_customize_itemdata =
        std::ptr::null_mut::<window_customize_itemdata>();
    (unsafe {
        (*data).item_list = xreallocarray(
            (*data).item_list as *mut libc::c_void,
            ((*data).item_size).wrapping_add(1 as i32 as u32) as size_t,
            ::core::mem::size_of::<*mut window_customize_itemdata>() as u64,
        ) as *mut *mut window_customize_itemdata
    });
    let fresh0 = unsafe { (*data).item_size };
    (unsafe { (*data).item_size = ((*data).item_size).wrapping_add(1) });
    let fresh1 = unsafe { &mut (*((*data).item_list).offset(fresh0 as isize)) };
    *fresh1 = (unsafe {
        xcalloc(
            1 as i32 as size_t,
            ::core::mem::size_of::<window_customize_itemdata>() as u64,
        )
    }) as *mut window_customize_itemdata;
    item = *fresh1;
    return item;
}
extern "C" fn window_customize_free_item(mut item: *mut window_customize_itemdata) {
    (unsafe { free((*item).table as *mut libc::c_void) });
    (unsafe { free((*item).name as *mut libc::c_void) });
    (unsafe { free(item as *mut libc::c_void) });
}
extern "C" fn window_customize_build_array(
    mut data: *mut window_customize_modedata,
    mut top: *mut mode_tree_item,
    mut scope: window_customize_scope,
    mut o: *mut options_entry,
    mut ft: *mut format_tree,
) {
    let mut oe: *const options_table_entry = unsafe { options_table_entry(o) };
    let mut oo: *mut options = unsafe { options_owner(o) };
    let mut item: *mut window_customize_itemdata =
        std::ptr::null_mut::<window_customize_itemdata>();
    let mut ai: *mut options_array_item = std::ptr::null_mut::<options_array_item>();
    let mut name: *mut i8 = std::ptr::null_mut::<i8>();
    let mut value: *mut i8 = std::ptr::null_mut::<i8>();
    let mut text: *mut i8 = std::ptr::null_mut::<i8>();
    let mut idx: u_int = 0;
    let mut tag: uint64_t = 0;
    ai = unsafe { options_array_first(o) };
    while !ai.is_null() {
        idx = unsafe { options_array_item_index(ai) };
        (unsafe {
            xasprintf(
                &mut name as *mut *mut i8,
                b"%s[%u]\0" as *const u8 as *const i8,
                options_name(o),
                idx,
            )
        });
        (unsafe {
            format_add(
                ft,
                b"option_name\0" as *const u8 as *const i8,
                b"%s\0" as *const u8 as *const i8,
                name,
            )
        });
        value = unsafe { options_to_string(o, idx as i32, 0 as i32) };
        (unsafe {
            format_add(
                ft,
                b"option_value\0" as *const u8 as *const i8,
                b"%s\0" as *const u8 as *const i8,
                value,
            )
        });
        item = window_customize_add_item(data);
        (unsafe { (*item).scope = scope });
        (unsafe { (*item).oo = oo });
        (unsafe { (*item).name = xstrdup(options_name(o)) });
        (unsafe { (*item).idx = idx as i32 });
        text = unsafe { format_expand(ft, (*data).format) };
        tag = window_customize_get_tag(o, idx as i32, oe);
        (unsafe {
            mode_tree_add(
                (*data).data,
                top,
                item as *mut libc::c_void,
                tag,
                name,
                text,
                -(1 as i32),
            )
        });
        (unsafe { free(text as *mut libc::c_void) });
        (unsafe { free(name as *mut libc::c_void) });
        (unsafe { free(value as *mut libc::c_void) });
        ai = unsafe { options_array_next(ai) };
    }
}
extern "C" fn window_customize_build_option(
    mut data: *mut window_customize_modedata,
    mut top: *mut mode_tree_item,
    mut scope: window_customize_scope,
    mut o: *mut options_entry,
    mut ft: *mut format_tree,
    mut filter: *const i8,
    mut fs: *mut cmd_find_state,
) {
    let mut oe: *const options_table_entry = unsafe { options_table_entry(o) };
    let mut oo: *mut options = unsafe { options_owner(o) };
    let mut name: *const i8 = unsafe { options_name(o) };
    let mut item: *mut window_customize_itemdata =
        std::ptr::null_mut::<window_customize_itemdata>();
    let mut text: *mut i8 = std::ptr::null_mut::<i8>();
    let mut expanded: *mut i8 = std::ptr::null_mut::<i8>();
    let mut value: *mut i8 = std::ptr::null_mut::<i8>();
    let mut global: i32 = 0 as i32;
    let mut array: i32 = 0 as i32;
    let mut tag: uint64_t = 0;
    if !oe.is_null() && (unsafe { (*oe).flags }) & 0x2 as i32 != 0 {
        return;
    }
    if !oe.is_null() && (unsafe { (*oe).flags }) & 0x1 as i32 != 0 {
        array = 1 as i32;
    }
    if scope as u32 == WINDOW_CUSTOMIZE_SERVER as i32 as u32
        || scope as u32 == WINDOW_CUSTOMIZE_GLOBAL_SESSION as i32 as u32
        || scope as u32 == WINDOW_CUSTOMIZE_GLOBAL_WINDOW as i32 as u32
    {
        global = 1 as i32;
    }
    if (unsafe { (*data).hide_global }) != 0 && global != 0 {
        return;
    }
    (unsafe {
        format_add(
            ft,
            b"option_name\0" as *const u8 as *const i8,
            b"%s\0" as *const u8 as *const i8,
            name,
        )
    });
    (unsafe {
        format_add(
            ft,
            b"option_is_global\0" as *const u8 as *const i8,
            b"%d\0" as *const u8 as *const i8,
            global,
        )
    });
    (unsafe {
        format_add(
            ft,
            b"option_is_array\0" as *const u8 as *const i8,
            b"%d\0" as *const u8 as *const i8,
            array,
        )
    });
    text = window_customize_scope_text(scope, fs);
    (unsafe {
        format_add(
            ft,
            b"option_scope\0" as *const u8 as *const i8,
            b"%s\0" as *const u8 as *const i8,
            text,
        )
    });
    (unsafe { free(text as *mut libc::c_void) });
    if !oe.is_null() && !(unsafe { (*oe).unit }).is_null() {
        (unsafe {
            format_add(
                ft,
                b"option_unit\0" as *const u8 as *const i8,
                b"%s\0" as *const u8 as *const i8,
                (*oe).unit,
            )
        });
    } else {
        (unsafe {
            format_add(
                ft,
                b"option_unit\0" as *const u8 as *const i8,
                b"%s\0" as *const u8 as *const i8,
                b"\0" as *const u8 as *const i8,
            )
        });
    }
    if array == 0 {
        value = unsafe { options_to_string(o, -(1 as i32), 0 as i32) };
        (unsafe {
            format_add(
                ft,
                b"option_value\0" as *const u8 as *const i8,
                b"%s\0" as *const u8 as *const i8,
                value,
            )
        });
        (unsafe { free(value as *mut libc::c_void) });
    }
    if !filter.is_null() {
        expanded = unsafe { format_expand(ft, filter) };
        if (unsafe { format_true(expanded) }) == 0 {
            (unsafe { free(expanded as *mut libc::c_void) });
            return;
        }
        (unsafe { free(expanded as *mut libc::c_void) });
    }
    item = window_customize_add_item(data);
    (unsafe { (*item).oo = oo });
    (unsafe { (*item).scope = scope });
    (unsafe { (*item).name = xstrdup(name) });
    (unsafe { (*item).idx = -(1 as i32) });
    if array != 0 {
        text = std::ptr::null_mut::<i8>();
    } else {
        text = unsafe { format_expand(ft, (*data).format) };
    }
    tag = window_customize_get_tag(o, -(1 as i32), oe);
    top = unsafe {
        mode_tree_add(
            (*data).data,
            top,
            item as *mut libc::c_void,
            tag,
            name,
            text,
            0 as i32,
        )
    };
    (unsafe { free(text as *mut libc::c_void) });
    if array != 0 {
        window_customize_build_array(data, top, scope, o, ft);
    }
}
extern "C" fn window_customize_find_user_options(
    mut oo: *mut options,
    mut list: *mut *mut *const i8,
    mut size: *mut u_int,
) {
    let mut o: *mut options_entry = std::ptr::null_mut::<options_entry>();
    let mut name: *const i8 = std::ptr::null::<i8>();
    let mut i: u_int = 0;
    o = unsafe { options_first(oo) };
    while !o.is_null() {
        name = unsafe { options_name(o) };
        if (unsafe { *name }) as i32 != '@' as i32 {
            o = unsafe { options_next(o) };
        } else {
            i = 0 as i32 as u_int;
            while i < (unsafe { *size }) {
                if (unsafe { strcmp(*(*list).offset(i as isize), name) }) == 0 as i32 {
                    break;
                }
                i = i.wrapping_add(1);
            }
            if i != (unsafe { *size }) {
                o = unsafe { options_next(o) };
            } else {
                (unsafe {
                    *list = xreallocarray(
                        *list as *mut libc::c_void,
                        (*size).wrapping_add(1 as i32 as u32) as size_t,
                        ::core::mem::size_of::<*const i8>() as u64,
                    ) as *mut *const i8
                });
                let fresh2 = unsafe { *size };
                (unsafe { *size = (*size).wrapping_add(1) });
                let fresh3 = unsafe { &mut (*(*list).offset(fresh2 as isize)) };
                *fresh3 = name;
                o = unsafe { options_next(o) };
            }
        }
    }
}
extern "C" fn window_customize_build_options(
    mut data: *mut window_customize_modedata,
    mut title: *const i8,
    mut tag: uint64_t,
    mut scope0: window_customize_scope,
    mut oo0: *mut options,
    mut scope1: window_customize_scope,
    mut oo1: *mut options,
    mut scope2: window_customize_scope,
    mut oo2: *mut options,
    mut ft: *mut format_tree,
    mut filter: *const i8,
    mut fs: *mut cmd_find_state,
) {
    let mut top: *mut mode_tree_item = std::ptr::null_mut::<mode_tree_item>();
    let mut o: *mut options_entry = std::ptr::null_mut::<options_entry>();
    let mut loop_0: *mut options_entry = std::ptr::null_mut::<options_entry>();
    let mut list: *mut *const i8 = std::ptr::null_mut::<*const i8>();
    let mut name: *const i8 = std::ptr::null::<i8>();
    let mut size: u_int = 0 as i32 as u_int;
    let mut i: u_int = 0;
    let mut scope: window_customize_scope = WINDOW_CUSTOMIZE_NONE;
    top = unsafe {
        mode_tree_add(
            (*data).data,
            std::ptr::null_mut::<mode_tree_item>(),
            std::ptr::null_mut::<libc::c_void>(),
            tag,
            title,
            std::ptr::null::<i8>(),
            0 as i32,
        )
    };
    (unsafe { mode_tree_no_tag(top) });
    window_customize_find_user_options(oo0, &mut list, &mut size);
    if !oo1.is_null() {
        window_customize_find_user_options(oo1, &mut list, &mut size);
    }
    if !oo2.is_null() {
        window_customize_find_user_options(oo2, &mut list, &mut size);
    }
    i = 0 as i32 as u_int;
    while i < size {
        if !oo2.is_null() {
            o = unsafe { options_get(oo2, *list.offset(i as isize)) };
        }
        if o.is_null() && !oo1.is_null() {
            o = unsafe { options_get(oo1, *list.offset(i as isize)) };
        }
        if o.is_null() {
            o = unsafe { options_get(oo0, *list.offset(i as isize)) };
        }
        if (unsafe { options_owner(o) }) == oo2 {
            scope = scope2;
        } else if (unsafe { options_owner(o) }) == oo1 {
            scope = scope1;
        } else {
            scope = scope0;
        }
        window_customize_build_option(data, top, scope, o, ft, filter, fs);
        i = i.wrapping_add(1);
    }
    (unsafe { free(list as *mut libc::c_void) });
    loop_0 = unsafe { options_first(oo0) };
    while !loop_0.is_null() {
        name = unsafe { options_name(loop_0) };
        if (unsafe { *name }) as i32 == '@' as i32 {
            loop_0 = unsafe { options_next(loop_0) };
        } else {
            if !oo2.is_null() {
                o = unsafe { options_get(oo2, name) };
            } else if !oo1.is_null() {
                o = unsafe { options_get(oo1, name) };
            } else {
                o = loop_0;
            }
            if (unsafe { options_owner(o) }) == oo2 {
                scope = scope2;
            } else if (unsafe { options_owner(o) }) == oo1 {
                scope = scope1;
            } else {
                scope = scope0;
            }
            window_customize_build_option(data, top, scope, o, ft, filter, fs);
            loop_0 = unsafe { options_next(loop_0) };
        }
    }
}
extern "C" fn window_customize_build_keys(
    mut data: *mut window_customize_modedata,
    mut kt: *mut key_table,
    mut ft: *mut format_tree,
    mut filter: *const i8,
    mut fs: *mut cmd_find_state,
    mut number: u_int,
) {
    let mut top: *mut mode_tree_item = std::ptr::null_mut::<mode_tree_item>();
    let mut child: *mut mode_tree_item = std::ptr::null_mut::<mode_tree_item>();
    let mut mti: *mut mode_tree_item = std::ptr::null_mut::<mode_tree_item>();
    let mut item: *mut window_customize_itemdata =
        std::ptr::null_mut::<window_customize_itemdata>();
    let mut bd: *mut key_binding = std::ptr::null_mut::<key_binding>();
    let mut title: *mut i8 = std::ptr::null_mut::<i8>();
    let mut text: *mut i8 = std::ptr::null_mut::<i8>();
    let mut tmp: *mut i8 = std::ptr::null_mut::<i8>();
    let mut expanded: *mut i8 = std::ptr::null_mut::<i8>();
    let mut flag: *const i8 = std::ptr::null::<i8>();
    let mut tag: uint64_t = 0;
    tag = ((1 as u64) << 62 as i32 | ((number as uint64_t) << 54 as i32) as u64 | 1 as i32 as u64)
        as uint64_t;
    (unsafe {
        xasprintf(
            &mut title as *mut *mut i8,
            b"Key Table - %s\0" as *const u8 as *const i8,
            (*kt).name,
        )
    });
    top = unsafe {
        mode_tree_add(
            (*data).data,
            std::ptr::null_mut::<mode_tree_item>(),
            std::ptr::null_mut::<libc::c_void>(),
            tag,
            title,
            std::ptr::null::<i8>(),
            0 as i32,
        )
    };
    (unsafe { mode_tree_no_tag(top) });
    (unsafe { free(title as *mut libc::c_void) });
    ft = unsafe {
        format_create_from_state(
            std::ptr::null_mut::<cmdq_item>(),
            std::ptr::null_mut::<client>(),
            fs,
        )
    };
    (unsafe {
        format_add(
            ft,
            b"is_option\0" as *const u8 as *const i8,
            b"0\0" as *const u8 as *const i8,
        )
    });
    (unsafe {
        format_add(
            ft,
            b"is_key\0" as *const u8 as *const i8,
            b"1\0" as *const u8 as *const i8,
        )
    });
    bd = unsafe { key_bindings_first(kt) };
    while !bd.is_null() {
        (unsafe {
            format_add(
                ft,
                b"key\0" as *const u8 as *const i8,
                b"%s\0" as *const u8 as *const i8,
                key_string_lookup_key((*bd).key, 0 as i32),
            )
        });
        if !(unsafe { (*bd).note }).is_null() {
            (unsafe {
                format_add(
                    ft,
                    b"key_note\0" as *const u8 as *const i8,
                    b"%s\0" as *const u8 as *const i8,
                    (*bd).note,
                )
            });
        }
        if !filter.is_null() {
            expanded = unsafe { format_expand(ft, filter) };
            if (unsafe { format_true(expanded) }) == 0 {
                (unsafe { free(expanded as *mut libc::c_void) });
                continue;
            } else {
                (unsafe { free(expanded as *mut libc::c_void) });
            }
        }
        item = window_customize_add_item(data);
        (unsafe { (*item).scope = WINDOW_CUSTOMIZE_KEY });
        (unsafe { (*item).table = xstrdup((*kt).name) });
        (unsafe { (*item).key = (*bd).key });
        (unsafe { (*item).name = xstrdup(key_string_lookup_key((*item).key, 0 as i32)) });
        (unsafe { (*item).idx = -(1 as i32) });
        expanded = unsafe { format_expand(ft, (*data).format) };
        child = unsafe {
            mode_tree_add(
                (*data).data,
                top,
                item as *mut libc::c_void,
                bd as uint64_t,
                expanded,
                std::ptr::null::<i8>(),
                0 as i32,
            )
        };
        (unsafe { free(expanded as *mut libc::c_void) });
        tmp = unsafe { cmd_list_print((*bd).cmdlist, 0 as i32) };
        (unsafe {
            xasprintf(
                &mut text as *mut *mut i8,
                b"#[ignore]%s\0" as *const u8 as *const i8,
                tmp,
            )
        });
        (unsafe { free(tmp as *mut libc::c_void) });
        mti = unsafe {
            mode_tree_add(
                (*data).data,
                child,
                item as *mut libc::c_void,
                (tag as u64
                    | (*bd).key << 3 as i32
                    | ((0 as i32) << 1 as i32) as u64
                    | 1 as i32 as u64) as uint64_t,
                b"Command\0" as *const u8 as *const i8,
                text,
                -(1 as i32),
            )
        };
        (unsafe { mode_tree_draw_as_parent(mti) });
        (unsafe { mode_tree_no_tag(mti) });
        (unsafe { free(text as *mut libc::c_void) });
        if !(unsafe { (*bd).note }).is_null() {
            (unsafe {
                xasprintf(
                    &mut text as *mut *mut i8,
                    b"#[ignore]%s\0" as *const u8 as *const i8,
                    (*bd).note,
                )
            });
        } else {
            text = unsafe { xstrdup(b"\0" as *const u8 as *const i8) };
        }
        mti = unsafe {
            mode_tree_add(
                (*data).data,
                child,
                item as *mut libc::c_void,
                (tag as u64
                    | (*bd).key << 3 as i32
                    | ((1 as i32) << 1 as i32) as u64
                    | 1 as i32 as u64) as uint64_t,
                b"Note\0" as *const u8 as *const i8,
                text,
                -(1 as i32),
            )
        };
        (unsafe { mode_tree_draw_as_parent(mti) });
        (unsafe { mode_tree_no_tag(mti) });
        (unsafe { free(text as *mut libc::c_void) });
        if (unsafe { (*bd).flags }) & 0x1 as i32 != 0 {
            flag = b"on\0" as *const u8 as *const i8;
        } else {
            flag = b"off\0" as *const u8 as *const i8;
        }
        mti = unsafe {
            mode_tree_add(
                (*data).data,
                child,
                item as *mut libc::c_void,
                (tag as u64
                    | (*bd).key << 3 as i32
                    | ((2 as i32) << 1 as i32) as u64
                    | 1 as i32 as u64) as uint64_t,
                b"Repeat\0" as *const u8 as *const i8,
                flag,
                -(1 as i32),
            )
        };
        (unsafe { mode_tree_draw_as_parent(mti) });
        (unsafe { mode_tree_no_tag(mti) });
        bd = unsafe { key_bindings_next(kt, bd) };
    }
    (unsafe { format_free(ft) });
}
extern "C" fn window_customize_build(
    mut modedata: *mut libc::c_void,
    mut _sort_crit: *mut mode_tree_sort_criteria,
    mut _tag: *mut uint64_t,
    mut filter: *const i8,
) {
    let mut data: *mut window_customize_modedata = modedata as *mut window_customize_modedata;
    let mut fs: cmd_find_state = cmd_find_state {
        flags: 0,
        current: std::ptr::null_mut::<cmd_find_state>(),
        s: std::ptr::null_mut::<session>(),
        wl: std::ptr::null_mut::<winlink>(),
        w: std::ptr::null_mut::<window>(),
        wp: std::ptr::null_mut::<window_pane>(),
        idx: 0,
    };
    let mut ft: *mut format_tree = std::ptr::null_mut::<format_tree>();
    let mut i: u_int = 0;
    let mut kt: *mut key_table = std::ptr::null_mut::<key_table>();
    i = 0 as i32 as u_int;
    while i < (unsafe { (*data).item_size }) {
        window_customize_free_item(unsafe { *((*data).item_list).offset(i as isize) });
        i = i.wrapping_add(1);
    }
    (unsafe { free((*data).item_list as *mut libc::c_void) });
    (unsafe { (*data).item_list = std::ptr::null_mut::<*mut window_customize_itemdata>() });
    (unsafe { (*data).item_size = 0 as i32 as u_int });
    if (unsafe { cmd_find_valid_state(&mut (*data).fs) }) != 0 {
        (unsafe { cmd_find_copy_state(&mut fs, &mut (*data).fs) });
    } else {
        (unsafe { cmd_find_from_pane(&mut fs, (*data).wp, 0 as i32) });
    }
    ft = unsafe {
        format_create_from_state(
            std::ptr::null_mut::<cmdq_item>(),
            std::ptr::null_mut::<client>(),
            &mut fs,
        )
    };
    (unsafe {
        format_add(
            ft,
            b"is_option\0" as *const u8 as *const i8,
            b"1\0" as *const u8 as *const i8,
        )
    });
    (unsafe {
        format_add(
            ft,
            b"is_key\0" as *const u8 as *const i8,
            b"0\0" as *const u8 as *const i8,
        )
    });
    window_customize_build_options(
        data,
        b"Server Options\0" as *const u8 as *const i8,
        ((3 as u64) << 62 as i32 | ((0x1 as i32) << 1 as i32) as u64 | 1 as i32 as u64) as uint64_t,
        WINDOW_CUSTOMIZE_SERVER,
        unsafe { global_options },
        WINDOW_CUSTOMIZE_NONE,
        std::ptr::null_mut::<options>(),
        WINDOW_CUSTOMIZE_NONE,
        std::ptr::null_mut::<options>(),
        ft,
        filter,
        &mut fs,
    );
    window_customize_build_options(
        data,
        b"Session Options\0" as *const u8 as *const i8,
        ((3 as u64) << 62 as i32 | ((0x2 as i32) << 1 as i32) as u64 | 1 as i32 as u64) as uint64_t,
        WINDOW_CUSTOMIZE_GLOBAL_SESSION,
        unsafe { global_s_options },
        WINDOW_CUSTOMIZE_SESSION,
        unsafe { (*fs.s).options },
        WINDOW_CUSTOMIZE_NONE,
        std::ptr::null_mut::<options>(),
        ft,
        filter,
        &mut fs,
    );
    window_customize_build_options(
        data,
        b"Window & Pane Options\0" as *const u8 as *const i8,
        ((3 as u64) << 62 as i32 | ((0x4 as i32) << 1 as i32) as u64 | 1 as i32 as u64) as uint64_t,
        WINDOW_CUSTOMIZE_GLOBAL_WINDOW,
        unsafe { global_w_options },
        WINDOW_CUSTOMIZE_WINDOW,
        unsafe { (*fs.w).options },
        WINDOW_CUSTOMIZE_PANE,
        unsafe { (*fs.wp).options },
        ft,
        filter,
        &mut fs,
    );
    (unsafe { format_free(ft) });
    ft = unsafe {
        format_create_from_state(
            std::ptr::null_mut::<cmdq_item>(),
            std::ptr::null_mut::<client>(),
            &mut fs,
        )
    };
    i = 0 as i32 as u_int;
    kt = unsafe { key_bindings_first_table() };
    while !kt.is_null() {
        if !(unsafe { (*kt).key_bindings.rbh_root }).is_null() {
            window_customize_build_keys(data, kt, ft, filter, &mut fs, i);
            i = i.wrapping_add(1);
            if i == 256 as i32 as u32 {
                break;
            }
        }
        kt = unsafe { key_bindings_next_table(kt) };
    }
    (unsafe { format_free(ft) });
}
extern "C" fn window_customize_draw_key(
    mut _data: *mut window_customize_modedata,
    mut item: *mut window_customize_itemdata,
    mut ctx: *mut screen_write_ctx,
    mut sx: u_int,
    mut sy: u_int,
) {
    let mut s: *mut screen = unsafe { (*ctx).s };
    let mut cx: u_int = unsafe { (*s).cx };
    let mut cy: u_int = unsafe { (*s).cy };
    let mut kt: *mut key_table = std::ptr::null_mut::<key_table>();
    let mut bd: *mut key_binding = std::ptr::null_mut::<key_binding>();
    let mut default_bd: *mut key_binding = std::ptr::null_mut::<key_binding>();
    let mut note: *const i8 = std::ptr::null::<i8>();
    let mut period: *const i8 = b"\0" as *const u8 as *const i8;
    let mut cmd: *mut i8 = std::ptr::null_mut::<i8>();
    let mut default_cmd: *mut i8 = std::ptr::null_mut::<i8>();
    if item.is_null() || window_customize_get_key(item, &mut kt, &mut bd) == 0 {
        return;
    }
    note = unsafe { (*bd).note };
    if note.is_null() {
        note = b"There is no note for this key.\0" as *const u8 as *const i8;
    }
    if (unsafe { *note }) as i32 != '\0' as i32
        && (unsafe { *note.offset((strlen(note)).wrapping_sub(1 as i32 as u64) as isize) }) as i32
            != '.' as i32
    {
        period = b".\0" as *const u8 as *const i8;
    }
    if (unsafe {
        screen_write_text(
            ctx,
            cx,
            sx,
            sy,
            0 as i32,
            &grid_default_cell as *const grid_cell,
            b"%s%s\0" as *const u8 as *const i8,
            note,
            period,
        )
    }) == 0
    {
        return;
    }
    (unsafe {
        screen_write_cursormove(
            ctx,
            cx as i32,
            ((*s).cy).wrapping_add(1 as i32 as u32) as i32,
            0 as i32,
        )
    });
    if (unsafe { (*s).cy }) >= cy.wrapping_add(sy).wrapping_sub(1 as i32 as u32) {
        return;
    }
    if (unsafe {
        screen_write_text(
            ctx,
            cx,
            sx,
            sy.wrapping_sub(((*s).cy).wrapping_sub(cy)),
            0 as i32,
            &grid_default_cell as *const grid_cell,
            b"This key is in the %s table.\0" as *const u8 as *const i8,
            (*kt).name,
        )
    }) == 0
    {
        return;
    }
    if (unsafe {
        screen_write_text(
            ctx,
            cx,
            sx,
            sy.wrapping_sub(((*s).cy).wrapping_sub(cy)),
            0 as i32,
            &grid_default_cell as *const grid_cell,
            b"This key %s repeat.\0" as *const u8 as *const i8,
            if (*bd).flags & 0x1 as i32 != 0 {
                b"does\0" as *const u8 as *const i8
            } else {
                b"does not\0" as *const u8 as *const i8
            },
        )
    }) == 0
    {
        return;
    }
    (unsafe {
        screen_write_cursormove(
            ctx,
            cx as i32,
            ((*s).cy).wrapping_add(1 as i32 as u32) as i32,
            0 as i32,
        )
    });
    if (unsafe { (*s).cy }) >= cy.wrapping_add(sy).wrapping_sub(1 as i32 as u32) {
        return;
    }
    cmd = unsafe { cmd_list_print((*bd).cmdlist, 0 as i32) };
    if (unsafe {
        screen_write_text(
            ctx,
            cx,
            sx,
            sy.wrapping_sub(((*s).cy).wrapping_sub(cy)),
            0 as i32,
            &grid_default_cell as *const grid_cell,
            b"Command: %s\0" as *const u8 as *const i8,
            cmd,
        )
    }) == 0
    {
        (unsafe { free(cmd as *mut libc::c_void) });
        return;
    }
    default_bd = unsafe { key_bindings_get_default(kt, (*bd).key) };
    if !default_bd.is_null() {
        default_cmd = unsafe { cmd_list_print((*default_bd).cmdlist, 0 as i32) };
        if (unsafe { strcmp(cmd, default_cmd) }) != 0 as i32
            && (unsafe {
                screen_write_text(
                    ctx,
                    cx,
                    sx,
                    sy.wrapping_sub(((*s).cy).wrapping_sub(cy)),
                    0 as i32,
                    &grid_default_cell as *const grid_cell,
                    b"The default is: %s\0" as *const u8 as *const i8,
                    default_cmd,
                )
            }) == 0
        {
            (unsafe { free(default_cmd as *mut libc::c_void) });
            (unsafe { free(cmd as *mut libc::c_void) });
            return;
        }
        (unsafe { free(default_cmd as *mut libc::c_void) });
    }
    (unsafe { free(cmd as *mut libc::c_void) });
}
extern "C" fn window_customize_draw_option(
    mut data: *mut window_customize_modedata,
    mut item: *mut window_customize_itemdata,
    mut ctx: *mut screen_write_ctx,
    mut sx: u_int,
    mut sy: u_int,
) {
    let mut current_block: u64;
    let mut s: *mut screen = unsafe { (*ctx).s };
    let mut cx: u_int = unsafe { (*s).cx };
    let mut cy: u_int = unsafe { (*s).cy };
    let mut idx: i32 = 0;
    let mut o: *mut options_entry = std::ptr::null_mut::<options_entry>();
    let mut parent: *mut options_entry = std::ptr::null_mut::<options_entry>();
    let mut go: *mut options = std::ptr::null_mut::<options>();
    let mut wo: *mut options = std::ptr::null_mut::<options>();
    let mut oe: *const options_table_entry = std::ptr::null::<options_table_entry>();
    let mut gc: grid_cell = grid_cell {
        data: utf8_data {
            data: [0; 21],
            have: 0,
            size: 0,
            width: 0,
        },
        attr: 0,
        flags: 0,
        fg: 0,
        bg: 0,
        us: 0,
        link: 0,
    };
    let mut choice: *mut *const i8 = std::ptr::null_mut::<*const i8>();
    let mut text: *const i8 = std::ptr::null::<i8>();
    let mut name: *const i8 = std::ptr::null::<i8>();
    let mut space: *const i8 = b"\0" as *const u8 as *const i8;
    let mut unit: *const i8 = b"\0" as *const u8 as *const i8;
    let mut value: *mut i8 = std::ptr::null_mut::<i8>();
    let mut expanded: *mut i8 = std::ptr::null_mut::<i8>();
    let mut default_value: *mut i8 = std::ptr::null_mut::<i8>();
    let mut choices: [i8; 256] = *(unsafe {
        :: core :: mem :: transmute :: < & [u8 ; 256] , & mut [i8 ; 256] , > (b"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" ,)
    });
    let mut fs: cmd_find_state = cmd_find_state {
        flags: 0,
        current: std::ptr::null_mut::<cmd_find_state>(),
        s: std::ptr::null_mut::<session>(),
        wl: std::ptr::null_mut::<winlink>(),
        w: std::ptr::null_mut::<window>(),
        wp: std::ptr::null_mut::<window_pane>(),
        idx: 0,
    };
    let mut ft: *mut format_tree = std::ptr::null_mut::<format_tree>();
    if window_customize_check_item(data, item, &mut fs) == 0 {
        return;
    }
    name = unsafe { (*item).name };
    idx = unsafe { (*item).idx };
    o = unsafe { options_get((*item).oo, name) };
    if o.is_null() {
        return;
    }
    oe = unsafe { options_table_entry(o) };
    if !oe.is_null() && !(unsafe { (*oe).unit }).is_null() {
        space = b" \0" as *const u8 as *const i8;
        unit = unsafe { (*oe).unit };
    }
    ft = unsafe {
        format_create_from_state(
            std::ptr::null_mut::<cmdq_item>(),
            std::ptr::null_mut::<client>(),
            &mut fs,
        )
    };
    if oe.is_null() || (unsafe { (*oe).text }).is_null() {
        text = b"This option doesn't have a description.\0" as *const u8 as *const i8;
    } else {
        text = unsafe { (*oe).text };
    }
    if (unsafe {
        screen_write_text(
            ctx,
            cx,
            sx,
            sy,
            0 as i32,
            &grid_default_cell as *const grid_cell,
            b"%s\0" as *const u8 as *const i8,
            text,
        )
    }) != 0
    {
        (unsafe {
            screen_write_cursormove(
                ctx,
                cx as i32,
                ((*s).cy).wrapping_add(1 as i32 as u32) as i32,
                0 as i32,
            )
        });
        if (unsafe { (*s).cy }) < cy.wrapping_add(sy).wrapping_sub(1 as i32 as u32) {
            if oe.is_null() {
                text = b"user\0" as *const u8 as *const i8;
            } else if (unsafe { (*oe).scope }) & (0x4 as i32 | 0x8 as i32)
                == 0x4 as i32 | 0x8 as i32
            {
                text = b"window and pane\0" as *const u8 as *const i8;
            } else if (unsafe { (*oe).scope }) & 0x4 as i32 != 0 {
                text = b"window\0" as *const u8 as *const i8;
            } else if (unsafe { (*oe).scope }) & 0x2 as i32 != 0 {
                text = b"session\0" as *const u8 as *const i8;
            } else {
                text = b"server\0" as *const u8 as *const i8;
            }
            if (unsafe {
                screen_write_text(
                    ctx,
                    cx,
                    sx,
                    sy.wrapping_sub(((*s).cy).wrapping_sub(cy)),
                    0 as i32,
                    &grid_default_cell as *const grid_cell,
                    b"This is a %s option.\0" as *const u8 as *const i8,
                    text,
                )
            }) != 0
            {
                if !oe.is_null() && (unsafe { (*oe).flags }) & 0x1 as i32 != 0 {
                    if idx != -(1 as i32) {
                        if (unsafe {
                            screen_write_text(
                                ctx,
                                cx,
                                sx,
                                sy.wrapping_sub(((*s).cy).wrapping_sub(cy)),
                                0 as i32,
                                &grid_default_cell as *const grid_cell,
                                b"This is an array option, index %u.\0" as *const u8 as *const i8,
                                idx,
                            )
                        }) == 0
                        {
                            current_block = 2010820879250946169;
                        } else {
                            current_block = 1538046216550696469;
                        }
                    } else if (unsafe {
                        screen_write_text(
                            ctx,
                            cx,
                            sx,
                            sy.wrapping_sub(((*s).cy).wrapping_sub(cy)),
                            0 as i32,
                            &grid_default_cell as *const grid_cell,
                            b"This is an array option.\0" as *const u8 as *const i8,
                        )
                    }) == 0
                    {
                        current_block = 2010820879250946169;
                    } else {
                        current_block = 1538046216550696469;
                    }
                    match current_block {
                        2010820879250946169 => {}
                        _ => {
                            if idx == -(1 as i32) {
                                current_block = 2010820879250946169;
                            } else {
                                current_block = 11385396242402735691;
                            }
                        }
                    }
                } else {
                    current_block = 11385396242402735691;
                }
                match current_block {
                    2010820879250946169 => {}
                    _ => {
                        (unsafe {
                            screen_write_cursormove(
                                ctx,
                                cx as i32,
                                ((*s).cy).wrapping_add(1 as i32 as u32) as i32,
                                0 as i32,
                            )
                        });
                        if (unsafe { (*s).cy }) < cy.wrapping_add(sy).wrapping_sub(1 as i32 as u32)
                        {
                            value = unsafe { options_to_string(o, idx, 0 as i32) };
                            if !oe.is_null() && idx == -(1 as i32) {
                                default_value = unsafe { options_default_to_string(oe) };
                                if (unsafe { strcmp(default_value, value) }) == 0 as i32 {
                                    (unsafe { free(default_value as *mut libc::c_void) });
                                    default_value = std::ptr::null_mut::<i8>();
                                }
                            }
                            if (unsafe {
                                screen_write_text(
                                    ctx,
                                    cx,
                                    sx,
                                    sy.wrapping_sub(((*s).cy).wrapping_sub(cy)),
                                    0 as i32,
                                    &grid_default_cell as *const grid_cell,
                                    b"Option value: %s%s%s\0" as *const u8 as *const i8,
                                    value,
                                    space,
                                    unit,
                                )
                            }) != 0
                            {
                                if oe.is_null()
                                    || (unsafe { (*oe).type_0 }) as u32
                                        == OPTIONS_TABLE_STRING as i32 as u32
                                {
                                    expanded = unsafe { format_expand(ft, value) };
                                    if (unsafe { strcmp(expanded, value) }) != 0 as i32 {
                                        if (unsafe {
                                            screen_write_text(
                                                ctx,
                                                cx,
                                                sx,
                                                sy.wrapping_sub(((*s).cy).wrapping_sub(cy)),
                                                0 as i32,
                                                &grid_default_cell as *const grid_cell,
                                                b"This expands to: %s\0" as *const u8 as *const i8,
                                                expanded,
                                            )
                                        }) == 0
                                        {
                                            current_block = 2010820879250946169;
                                        } else {
                                            current_block = 3160140712158701372;
                                        }
                                    } else {
                                        current_block = 3160140712158701372;
                                    }
                                    match current_block {
                                        2010820879250946169 => {}
                                        _ => {
                                            (unsafe { free(expanded as *mut libc::c_void) });
                                            current_block = 11763295167351361500;
                                        }
                                    }
                                } else {
                                    current_block = 11763295167351361500;
                                }
                                match current_block {
                                    2010820879250946169 => {}
                                    _ => {
                                        if !oe.is_null()
                                            && (unsafe { (*oe).type_0 }) as u32
                                                == OPTIONS_TABLE_CHOICE as i32 as u32
                                        {
                                            choice = unsafe { (*oe).choices };
                                            while !(unsafe { *choice }).is_null() {
                                                (unsafe {
                                                    strlcat(
                                                        choices.as_mut_ptr(),
                                                        *choice,
                                                        ::core::mem::size_of::<[i8; 256]>() as u64,
                                                    )
                                                });
                                                (unsafe {
                                                    strlcat(
                                                        choices.as_mut_ptr(),
                                                        b", \0" as *const u8 as *const i8,
                                                        ::core::mem::size_of::<[i8; 256]>() as u64,
                                                    )
                                                });
                                                choice = unsafe { choice.offset(1) };
                                            }
                                            choices[(unsafe { strlen(choices.as_mut_ptr()) })
                                                .wrapping_sub(2 as i32 as u64)
                                                as usize] = '\0' as i32 as i8;
                                            if (unsafe {
                                                screen_write_text(
                                                    ctx,
                                                    cx,
                                                    sx,
                                                    sy.wrapping_sub(((*s).cy).wrapping_sub(cy)),
                                                    0 as i32,
                                                    &grid_default_cell as *const grid_cell,
                                                    b"Available values are: %s\0" as *const u8
                                                        as *const i8,
                                                    choices.as_mut_ptr(),
                                                )
                                            }) == 0
                                            {
                                                current_block = 2010820879250946169;
                                            } else {
                                                current_block = 2500484646272006982;
                                            }
                                        } else {
                                            current_block = 2500484646272006982;
                                        }
                                        match current_block {
                                            2010820879250946169 => {}
                                            _ => {
                                                if !oe.is_null()
                                                    && (unsafe { (*oe).type_0 }) as u32
                                                        == OPTIONS_TABLE_COLOUR as i32 as u32
                                                {
                                                    if (unsafe {
                                                        screen_write_text(
                                                            ctx,
                                                            cx,
                                                            sx,
                                                            sy.wrapping_sub(
                                                                ((*s).cy).wrapping_sub(cy),
                                                            ),
                                                            1 as i32,
                                                            &grid_default_cell as *const grid_cell,
                                                            b"This is a colour option: \0"
                                                                as *const u8
                                                                as *const i8,
                                                        )
                                                    }) == 0
                                                    {
                                                        current_block = 2010820879250946169;
                                                    } else {
                                                        (unsafe {
                                                            memcpy(
                                                                &mut gc as *mut grid_cell
                                                                    as *mut libc::c_void,
                                                                &grid_default_cell
                                                                    as *const grid_cell
                                                                    as *const libc::c_void,
                                                                ::core::mem::size_of::<grid_cell>()
                                                                    as u64,
                                                            )
                                                        });
                                                        gc.fg = (unsafe {
                                                            options_get_number((*item).oo, name)
                                                        })
                                                            as i32;
                                                        if (unsafe {
                                                            screen_write_text(
                                                                ctx,
                                                                cx,
                                                                sx,
                                                                sy.wrapping_sub(
                                                                    ((*s).cy).wrapping_sub(cy),
                                                                ),
                                                                0 as i32,
                                                                &mut gc as *mut grid_cell,
                                                                b"EXAMPLE\0" as *const u8
                                                                    as *const i8,
                                                            )
                                                        }) == 0
                                                        {
                                                            current_block = 2010820879250946169;
                                                        } else {
                                                            current_block = 9512719473022792396;
                                                        }
                                                    }
                                                } else {
                                                    current_block = 9512719473022792396;
                                                }
                                                match current_block {
                                                    2010820879250946169 => {}
                                                    _ => {
                                                        if !oe.is_null()
                                                            && (unsafe { (*oe).flags }) & 0x4 as i32
                                                                != 0
                                                        {
                                                            if (unsafe {
                                                                screen_write_text(
                                                                    ctx,
                                                                    cx,
                                                                    sx,
                                                                    sy.wrapping_sub(
                                                                        ((*s).cy).wrapping_sub(cy),
                                                                    ),
                                                                    1 as i32,
                                                                    &grid_default_cell
                                                                        as *const grid_cell,
                                                                    b"This is a style option: \0"
                                                                        as *const u8
                                                                        as *const i8,
                                                                )
                                                            }) == 0
                                                            {
                                                                current_block = 2010820879250946169;
                                                            } else {
                                                                (unsafe {
                                                                    style_apply(
                                                                        &mut gc,
                                                                        (*item).oo,
                                                                        name,
                                                                        ft,
                                                                    )
                                                                });
                                                                if (unsafe {
                                                                    screen_write_text(
                                                                        ctx,
                                                                        cx,
                                                                        sx,
                                                                        sy.wrapping_sub(
                                                                            ((*s).cy)
                                                                                .wrapping_sub(cy),
                                                                        ),
                                                                        0 as i32,
                                                                        &mut gc as *mut grid_cell,
                                                                        b"EXAMPLE\0" as *const u8
                                                                            as *const i8,
                                                                    )
                                                                }) == 0
                                                                {
                                                                    current_block =
                                                                        2010820879250946169;
                                                                } else {
                                                                    current_block =
                                                                        3580086814630675314;
                                                                }
                                                            }
                                                        } else {
                                                            current_block = 3580086814630675314;
                                                        }
                                                        match current_block {
                                                            2010820879250946169 => {}
                                                            _ => {
                                                                if !default_value.is_null() {
                                                                    if (unsafe {
                                                                        screen_write_text(
                                                                        ctx,
                                                                        cx,
                                                                        sx,
                                                                        sy.wrapping_sub(
                                                                            ((*s).cy)
                                                                                .wrapping_sub(cy),
                                                                        ),
                                                                        0 as i32,
                                                                        &grid_default_cell
                                                                            as *const grid_cell,
                                                                        b"The default is: %s%s%s\0"
                                                                            as *const u8
                                                                            as *const i8,
                                                                        default_value,
                                                                        space,
                                                                        unit,
                                                                    )
                                                                    }) == 0
                                                                    {
                                                                        current_block =
                                                                            2010820879250946169;
                                                                    } else {
                                                                        current_block =
                                                                            8869332144787829186;
                                                                    }
                                                                } else {
                                                                    current_block =
                                                                        8869332144787829186;
                                                                }
                                                                match current_block {
                                                                    2010820879250946169 => {}
                                                                    _ => {
                                                                        (unsafe {
                                                                            screen_write_cursormove(
                                                                                ctx,
                                                                                cx as i32,
                                                                                ((*s).cy)
                                                                                    .wrapping_add(
                                                                                        1 as i32
                                                                                            as u32,
                                                                                    )
                                                                                    as i32,
                                                                                0 as i32,
                                                                            )
                                                                        });
                                                                        if (unsafe { (*s).cy })
                                                                            <= cy
                                                                                .wrapping_add(sy)
                                                                                .wrapping_sub(
                                                                                    1 as i32 as u32,
                                                                                )
                                                                        {
                                                                            if !oe.is_null()
                                                                                && (unsafe {
                                                                                    (*oe).flags
                                                                                }) & 0x1 as i32
                                                                                    != 0
                                                                            {
                                                                                wo = std :: ptr :: null_mut :: < options > () ;
                                                                                go = std :: ptr :: null_mut :: < options > () ;
                                                                            } else {
                                                                                match (unsafe {
                                                                                    (*item).scope
                                                                                })
                                                                                    as u32
                                                                                {
                                                                                    7 => {
                                                                                        wo = unsafe {
                                                                                            options_get_parent ((* item) . oo)
                                                                                        };
                                                                                        go = unsafe {
                                                                                            options_get_parent (wo)
                                                                                        };
                                                                                    }
                                                                                    6 | 4 => {
                                                                                        wo = std :: ptr :: null_mut :: < options > () ;
                                                                                        go = unsafe {
                                                                                            options_get_parent ((* item) . oo)
                                                                                        };
                                                                                    }
                                                                                    _ => {
                                                                                        wo = std :: ptr :: null_mut :: < options > () ;
                                                                                        go = std :: ptr :: null_mut :: < options > () ;
                                                                                    }
                                                                                }
                                                                            }
                                                                            if !wo.is_null()
                                                                                && (unsafe {
                                                                                    options_owner(o)
                                                                                }) != wo
                                                                            {
                                                                                parent = unsafe {
                                                                                    options_get_only(
                                                                                        wo, name,
                                                                                    )
                                                                                };
                                                                                if !parent.is_null()
                                                                                {
                                                                                    value = unsafe {
                                                                                        options_to_string (parent , - (1 as i32) , 0 as i32 ,)
                                                                                    };
                                                                                    if (unsafe {
                                                                                        screen_write_text (ctx , (* s) . cx , sx , sy . wrapping_sub (((* s) . cy) . wrapping_sub (cy)) , 0 as i32 , & grid_default_cell as * const grid_cell , b"Window value (from window %u): %s%s%s\0" as * const u8 as * const i8 , (* fs . wl) . idx , value , space , unit ,)
                                                                                    }) == 0
                                                                                    {
                                                                                        current_block = 2010820879250946169 ;
                                                                                    } else {
                                                                                        current_block = 12027283704867122503 ;
                                                                                    }
                                                                                } else {
                                                                                    current_block = 12027283704867122503 ;
                                                                                }
                                                                            } else {
                                                                                current_block = 12027283704867122503 ;
                                                                            }
                                                                            match current_block { 2010820879250946169 => { } _ => { if ! go . is_null () && (unsafe { options_owner (o) }) != go { parent = unsafe { options_get_only (go , name) } ; if ! parent . is_null () { value = unsafe { options_to_string (parent , - (1 as i32) , 0 as i32 ,) } ; let _ = (unsafe { screen_write_text (ctx , (* s) . cx , sx , sy . wrapping_sub (((* s) . cy) . wrapping_sub (cy)) , 0 as i32 , & grid_default_cell as * const grid_cell , b"Global value: %s%s%s\0" as * const u8 as * const i8 , value , space , unit ,) }) == 0 ; } } } }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    (unsafe { free(value as *mut libc::c_void) });
    (unsafe { free(default_value as *mut libc::c_void) });
    (unsafe { format_free(ft) });
}
extern "C" fn window_customize_draw(
    mut modedata: *mut libc::c_void,
    mut itemdata: *mut libc::c_void,
    mut ctx: *mut screen_write_ctx,
    mut sx: u_int,
    mut sy: u_int,
) {
    let mut data: *mut window_customize_modedata = modedata as *mut window_customize_modedata;
    let mut item: *mut window_customize_itemdata = itemdata as *mut window_customize_itemdata;
    if item.is_null() {
        return;
    }
    if (unsafe { (*item).scope }) as u32 == WINDOW_CUSTOMIZE_KEY as i32 as u32 {
        window_customize_draw_key(data, item, ctx, sx, sy);
    } else {
        window_customize_draw_option(data, item, ctx, sx, sy);
    };
}
extern "C" fn window_customize_menu(
    mut modedata: *mut libc::c_void,
    mut c: *mut client,
    mut key: key_code,
) {
    let mut data: *mut window_customize_modedata = modedata as *mut window_customize_modedata;
    let mut wp: *mut window_pane = unsafe { (*data).wp };
    let mut wme: *mut window_mode_entry = std::ptr::null_mut::<window_mode_entry>();
    wme = unsafe { (*wp).modes.tqh_first };
    if wme.is_null() || (unsafe { (*wme).data }) != modedata {
        return;
    }
    window_customize_key(
        wme,
        c,
        std::ptr::null_mut::<session>(),
        std::ptr::null_mut::<winlink>(),
        key,
        std::ptr::null_mut::<mouse_event>(),
    );
}
extern "C" fn window_customize_height(
    mut _modedata: *mut libc::c_void,
    mut _height: u_int,
) -> u_int {
    return 12 as i32 as u_int;
}
extern "C" fn window_customize_init(
    mut wme: *mut window_mode_entry,
    mut fs: *mut cmd_find_state,
    mut args: *mut args,
) -> *mut screen {
    let mut wp: *mut window_pane = unsafe { (*wme).wp };
    let mut data: *mut window_customize_modedata =
        std::ptr::null_mut::<window_customize_modedata>();
    let mut s: *mut screen = std::ptr::null_mut::<screen>();
    data = (unsafe {
        xcalloc(
            1 as i32 as size_t,
            ::core::mem::size_of::<window_customize_modedata>() as u64,
        )
    }) as *mut window_customize_modedata;
    (unsafe { (*wme).data = data as *mut libc::c_void });
    (unsafe { (*data).wp = wp });
    (unsafe { (*data).references = 1 as i32 });
    (unsafe {
        memcpy(
            &mut (*data).fs as *mut cmd_find_state as *mut libc::c_void,
            fs as *const libc::c_void,
            ::core::mem::size_of::<cmd_find_state>() as u64,
        )
    });
    if args.is_null() || (unsafe { args_has(args, 'F' as i32 as u_char) }) == 0 {
        (unsafe {
            (* data) . format = xstrdup (b"#{?is_option,#{?option_is_global,,#[reverse](#{option_scope})#[default] }#[ignore]#{option_value}#{?option_unit, #{option_unit},},#{key}}\0" as * const u8 as * const i8 ,)
        });
    } else {
        (unsafe { (*data).format = xstrdup(args_get(args, 'F' as i32 as u_char)) });
    }
    if (unsafe { args_has(args, 'y' as i32 as u_char) }) != 0 {
        (unsafe { (*data).prompt_flags = 0x20 as i32 });
    }
    (unsafe {
        (*data).data = mode_tree_start(
            wp,
            args,
            Some(
                window_customize_build
                    as unsafe extern "C" fn(
                        *mut libc::c_void,
                        *mut mode_tree_sort_criteria,
                        *mut uint64_t,
                        *const i8,
                    ) -> (),
            ),
            Some(
                window_customize_draw
                    as unsafe extern "C" fn(
                        *mut libc::c_void,
                        *mut libc::c_void,
                        *mut screen_write_ctx,
                        u_int,
                        u_int,
                    ) -> (),
            ),
            None,
            Some(
                window_customize_menu
                    as unsafe extern "C" fn(*mut libc::c_void, *mut client, key_code) -> (),
            ),
            Some(
                window_customize_height as unsafe extern "C" fn(*mut libc::c_void, u_int) -> u_int,
            ),
            None,
            data as *mut libc::c_void,
            window_customize_menu_items.as_ptr(),
            std::ptr::null_mut::<*const i8>(),
            0 as i32 as u_int,
            &mut s,
        )
    });
    (unsafe { mode_tree_zoom((*data).data, args) });
    (unsafe { mode_tree_build((*data).data) });
    (unsafe { mode_tree_draw((*data).data) });
    return s;
}
extern "C" fn window_customize_destroy(mut data: *mut window_customize_modedata) {
    let mut i: u_int = 0;
    (unsafe { (*data).references -= 1 });
    if (unsafe { (*data).references }) != 0 as i32 {
        return;
    }
    i = 0 as i32 as u_int;
    while i < (unsafe { (*data).item_size }) {
        window_customize_free_item(unsafe { *((*data).item_list).offset(i as isize) });
        i = i.wrapping_add(1);
    }
    (unsafe { free((*data).item_list as *mut libc::c_void) });
    (unsafe { free((*data).format as *mut libc::c_void) });
    (unsafe { free(data as *mut libc::c_void) });
}
extern "C" fn window_customize_free(mut wme: *mut window_mode_entry) {
    let mut data: *mut window_customize_modedata =
        (unsafe { (*wme).data }) as *mut window_customize_modedata;
    if data.is_null() {
        return;
    }
    (unsafe { (*data).dead = 1 as i32 });
    (unsafe { mode_tree_free((*data).data) });
    window_customize_destroy(data);
}
extern "C" fn window_customize_resize(
    mut wme: *mut window_mode_entry,
    mut sx: u_int,
    mut sy: u_int,
) {
    let mut data: *mut window_customize_modedata =
        (unsafe { (*wme).data }) as *mut window_customize_modedata;
    (unsafe { mode_tree_resize((*data).data, sx, sy) });
}
extern "C" fn window_customize_free_callback(mut modedata: *mut libc::c_void) {
    window_customize_destroy(modedata as *mut window_customize_modedata);
}
extern "C" fn window_customize_free_item_callback(mut itemdata: *mut libc::c_void) {
    let mut item: *mut window_customize_itemdata = itemdata as *mut window_customize_itemdata;
    let mut data: *mut window_customize_modedata = unsafe { (*item).data };
    window_customize_free_item(item);
    window_customize_destroy(data);
}
extern "C" fn window_customize_set_option_callback(
    mut c: *mut client,
    mut itemdata: *mut libc::c_void,
    mut s: *const i8,
    mut _done: i32,
) -> i32 {
    let mut current_block: u64;
    let mut item: *mut window_customize_itemdata = itemdata as *mut window_customize_itemdata;
    let mut data: *mut window_customize_modedata = unsafe { (*item).data };
    let mut o: *mut options_entry = std::ptr::null_mut::<options_entry>();
    let mut oe: *const options_table_entry = std::ptr::null::<options_table_entry>();
    let mut oo: *mut options = unsafe { (*item).oo };
    let mut name: *const i8 = unsafe { (*item).name };
    let mut cause: *mut i8 = std::ptr::null_mut::<i8>();
    let mut idx: i32 = unsafe { (*item).idx };
    if s.is_null() || (unsafe { *s }) as i32 == '\0' as i32 || (unsafe { (*data).dead }) != 0 {
        return 0 as i32;
    }
    if item.is_null()
        || window_customize_check_item(data, item, std::ptr::null_mut::<cmd_find_state>()) == 0
    {
        return 0 as i32;
    }
    o = unsafe { options_get(oo, name) };
    if o.is_null() {
        return 0 as i32;
    }
    oe = unsafe { options_table_entry(o) };
    if !oe.is_null() && (unsafe { (*oe).flags }) & 0x1 as i32 != 0 {
        if idx == -(1 as i32) {
            idx = 0 as i32;
            while idx < 2147483647 as i32 {
                if (unsafe { options_array_get(o, idx as u_int) }).is_null() {
                    break;
                }
                idx += 1;
            }
        }
        if (unsafe { options_array_set(o, idx as u_int, s, 0 as i32, &mut cause) }) != 0 as i32 {
            current_block = 2143926380268802421;
        } else {
            current_block = 5689001924483802034;
        }
    } else if (unsafe { options_from_string(oo, oe, name, s, 0 as i32, &mut cause) }) != 0 as i32 {
        current_block = 2143926380268802421;
    } else {
        current_block = 5689001924483802034;
    }
    match current_block {
        2143926380268802421 => {
            (unsafe { *cause = toupper(*cause as u_char as i32) as i8 });
            (unsafe {
                status_message_set(
                    c,
                    -(1 as i32),
                    1 as i32,
                    0 as i32,
                    b"%s\0" as *const u8 as *const i8,
                    cause,
                )
            });
            (unsafe { free(cause as *mut libc::c_void) });
            return 0 as i32;
        }
        _ => {
            (unsafe { options_push_changes((*item).name) });
            (unsafe { mode_tree_build((*data).data) });
            (unsafe { mode_tree_draw((*data).data) });
            (unsafe { (*(*data).wp).flags |= 0x1 as i32 });
            return 0 as i32;
        }
    };
}
extern "C" fn window_customize_set_option(
    mut c: *mut client,
    mut data: *mut window_customize_modedata,
    mut item: *mut window_customize_itemdata,
    mut global: i32,
    mut pane: i32,
) {
    let mut o: *mut options_entry = std::ptr::null_mut::<options_entry>();
    let mut oe: *const options_table_entry = std::ptr::null::<options_table_entry>();
    let mut oo: *mut options = std::ptr::null_mut::<options>();
    let mut new_item: *mut window_customize_itemdata =
        std::ptr::null_mut::<window_customize_itemdata>();
    let mut flag: i32 = 0;
    let mut idx: i32 = unsafe { (*item).idx };
    let mut scope: window_customize_scope = WINDOW_CUSTOMIZE_NONE;
    let mut choice: u_int = 0;
    let mut name: *const i8 = unsafe { (*item).name };
    let mut space: *const i8 = b"\0" as *const u8 as *const i8;
    let mut prompt: *mut i8 = std::ptr::null_mut::<i8>();
    let mut value: *mut i8 = std::ptr::null_mut::<i8>();
    let mut text: *mut i8 = std::ptr::null_mut::<i8>();
    let mut fs: cmd_find_state = cmd_find_state {
        flags: 0,
        current: std::ptr::null_mut::<cmd_find_state>(),
        s: std::ptr::null_mut::<session>(),
        wl: std::ptr::null_mut::<winlink>(),
        w: std::ptr::null_mut::<window>(),
        wp: std::ptr::null_mut::<window_pane>(),
        idx: 0,
    };
    if item.is_null() || window_customize_check_item(data, item, &mut fs) == 0 {
        return;
    }
    o = unsafe { options_get((*item).oo, name) };
    if o.is_null() {
        return;
    }
    oe = unsafe { options_table_entry(o) };
    if !oe.is_null() && !(unsafe { (*oe).scope }) & 0x8 as i32 != 0 {
        pane = 0 as i32;
    }
    if !oe.is_null() && (unsafe { (*oe).flags }) & 0x1 as i32 != 0 {
        scope = unsafe { (*item).scope };
        oo = unsafe { (*item).oo };
    } else {
        if global != 0 {
            match (unsafe { (*item).scope }) as u32 {
                0 | 1 | 2 | 3 | 5 => {
                    scope = unsafe { (*item).scope };
                }
                4 => {
                    scope = WINDOW_CUSTOMIZE_GLOBAL_SESSION;
                }
                6 | 7 => {
                    scope = WINDOW_CUSTOMIZE_GLOBAL_WINDOW;
                }
                _ => {}
            }
        } else {
            match (unsafe { (*item).scope }) as u32 {
                0 | 1 | 2 | 4 => {
                    scope = unsafe { (*item).scope };
                }
                6 | 7 => {
                    if pane != 0 {
                        scope = WINDOW_CUSTOMIZE_PANE;
                    } else {
                        scope = WINDOW_CUSTOMIZE_WINDOW;
                    }
                }
                3 => {
                    scope = WINDOW_CUSTOMIZE_SESSION;
                }
                5 => {
                    if pane != 0 {
                        scope = WINDOW_CUSTOMIZE_PANE;
                    } else {
                        scope = WINDOW_CUSTOMIZE_WINDOW;
                    }
                }
                _ => {}
            }
        }
        if scope as u32 == (unsafe { (*item).scope }) as u32 {
            oo = unsafe { (*item).oo };
        } else {
            oo = window_customize_get_tree(scope, &mut fs);
        }
    }
    if !oe.is_null() && (unsafe { (*oe).type_0 }) as u32 == OPTIONS_TABLE_FLAG as i32 as u32 {
        flag = (unsafe { options_get_number(oo, name) }) as i32;
        (unsafe { options_set_number(oo, name, (flag == 0) as i32 as i64) });
    } else if !oe.is_null()
        && (unsafe { (*oe).type_0 }) as u32 == OPTIONS_TABLE_CHOICE as i32 as u32
    {
        choice = (unsafe { options_get_number(oo, name) }) as u_int;
        if (unsafe { *((*oe).choices).offset(choice.wrapping_add(1 as i32 as u32) as isize) })
            .is_null()
        {
            choice = 0 as i32 as u_int;
        } else {
            choice = choice.wrapping_add(1);
        }
        (unsafe { options_set_number(oo, name, choice as i64) });
    } else {
        text = window_customize_scope_text(scope, &mut fs);
        if (unsafe { *text }) as i32 != '\0' as i32 {
            space = b", for \0" as *const u8 as *const i8;
        } else if scope as u32 != WINDOW_CUSTOMIZE_SERVER as i32 as u32 {
            space = b", global\0" as *const u8 as *const i8;
        }
        if !oe.is_null() && (unsafe { (*oe).flags }) & 0x1 as i32 != 0 {
            if idx == -(1 as i32) {
                (unsafe {
                    xasprintf(
                        &mut prompt as *mut *mut i8,
                        b"(%s[+]%s%s) \0" as *const u8 as *const i8,
                        name,
                        space,
                        text,
                    )
                });
            } else {
                (unsafe {
                    xasprintf(
                        &mut prompt as *mut *mut i8,
                        b"(%s[%d]%s%s) \0" as *const u8 as *const i8,
                        name,
                        idx,
                        space,
                        text,
                    )
                });
            }
        } else {
            (unsafe {
                xasprintf(
                    &mut prompt as *mut *mut i8,
                    b"(%s%s%s) \0" as *const u8 as *const i8,
                    name,
                    space,
                    text,
                )
            });
        }
        (unsafe { free(text as *mut libc::c_void) });
        value = unsafe { options_to_string(o, idx, 0 as i32) };
        new_item = (unsafe {
            xcalloc(
                1 as i32 as size_t,
                ::core::mem::size_of::<window_customize_itemdata>() as u64,
            )
        }) as *mut window_customize_itemdata;
        (unsafe { (*new_item).data = data });
        (unsafe { (*new_item).scope = scope });
        (unsafe { (*new_item).oo = oo });
        (unsafe { (*new_item).name = xstrdup(name) });
        (unsafe { (*new_item).idx = idx });
        (unsafe { (*data).references += 1 });
        (unsafe {
            status_prompt_set(
                c,
                std::ptr::null_mut::<cmd_find_state>(),
                prompt,
                value,
                Some(
                    window_customize_set_option_callback
                        as unsafe extern "C" fn(
                            *mut client,
                            *mut libc::c_void,
                            *const i8,
                            i32,
                        ) -> i32,
                ),
                Some(
                    window_customize_free_item_callback
                        as unsafe extern "C" fn(*mut libc::c_void) -> (),
                ),
                new_item as *mut libc::c_void,
                0x8 as i32,
                PROMPT_TYPE_COMMAND,
            )
        });
        (unsafe { free(prompt as *mut libc::c_void) });
        (unsafe { free(value as *mut libc::c_void) });
    };
}
extern "C" fn window_customize_unset_option(
    mut data: *mut window_customize_modedata,
    mut item: *mut window_customize_itemdata,
) {
    let mut o: *mut options_entry = std::ptr::null_mut::<options_entry>();
    if item.is_null()
        || window_customize_check_item(data, item, std::ptr::null_mut::<cmd_find_state>()) == 0
    {
        return;
    }
    o = unsafe { options_get((*item).oo, (*item).name) };
    if o.is_null() {
        return;
    }
    if (unsafe { (*item).idx }) != -(1 as i32)
        && item
            == (unsafe { mode_tree_get_current((*data).data) }) as *mut window_customize_itemdata
    {
        (unsafe { mode_tree_up((*data).data, 0 as i32) });
    }
    (unsafe { options_remove_or_default(o, (*item).idx, std::ptr::null_mut::<*mut i8>()) });
}
extern "C" fn window_customize_reset_option(
    mut data: *mut window_customize_modedata,
    mut item: *mut window_customize_itemdata,
) {
    let mut oo: *mut options = std::ptr::null_mut::<options>();
    let mut o: *mut options_entry = std::ptr::null_mut::<options_entry>();
    if item.is_null()
        || window_customize_check_item(data, item, std::ptr::null_mut::<cmd_find_state>()) == 0
    {
        return;
    }
    if (unsafe { (*item).idx }) != -(1 as i32) {
        return;
    }
    oo = unsafe { (*item).oo };
    while !oo.is_null() {
        o = unsafe { options_get_only((*item).oo, (*item).name) };
        if !o.is_null() {
            (unsafe { options_remove_or_default(o, -(1 as i32), std::ptr::null_mut::<*mut i8>()) });
        }
        oo = unsafe { options_get_parent(oo) };
    }
}
extern "C" fn window_customize_set_command_callback(
    mut c: *mut client,
    mut itemdata: *mut libc::c_void,
    mut s: *const i8,
    mut _done: i32,
) -> i32 {
    let mut item: *mut window_customize_itemdata = itemdata as *mut window_customize_itemdata;
    let mut data: *mut window_customize_modedata = unsafe { (*item).data };
    let mut bd: *mut key_binding = std::ptr::null_mut::<key_binding>();
    let mut pr: *mut cmd_parse_result = std::ptr::null_mut::<cmd_parse_result>();
    let mut error: *mut i8 = std::ptr::null_mut::<i8>();
    if s.is_null() || (unsafe { *s }) as i32 == '\0' as i32 || (unsafe { (*data).dead }) != 0 {
        return 0 as i32;
    }
    if item.is_null()
        || window_customize_get_key(item, std::ptr::null_mut::<*mut key_table>(), &mut bd) == 0
    {
        return 0 as i32;
    }
    pr = unsafe { cmd_parse_from_string(s, std::ptr::null_mut::<cmd_parse_input>()) };
    match (unsafe { (*pr).status }) as u32 {
        0 => {
            error = unsafe { (*pr).error };
            (unsafe { *error = toupper(*error as u_char as i32) as i8 });
            (unsafe {
                status_message_set(
                    c,
                    -(1 as i32),
                    1 as i32,
                    0 as i32,
                    b"%s\0" as *const u8 as *const i8,
                    error,
                )
            });
            (unsafe { free(error as *mut libc::c_void) });
            return 0 as i32;
        }
        1 | _ => {
            (unsafe { cmd_list_free((*bd).cmdlist) });
            (unsafe { (*bd).cmdlist = (*pr).cmdlist });
            (unsafe { mode_tree_build((*data).data) });
            (unsafe { mode_tree_draw((*data).data) });
            (unsafe { (*(*data).wp).flags |= 0x1 as i32 });
            return 0 as i32;
        }
    };
}
extern "C" fn window_customize_set_note_callback(
    mut _c: *mut client,
    mut itemdata: *mut libc::c_void,
    mut s: *const i8,
    mut _done: i32,
) -> i32 {
    let mut item: *mut window_customize_itemdata = itemdata as *mut window_customize_itemdata;
    let mut data: *mut window_customize_modedata = unsafe { (*item).data };
    let mut bd: *mut key_binding = std::ptr::null_mut::<key_binding>();
    if s.is_null() || (unsafe { *s }) as i32 == '\0' as i32 || (unsafe { (*data).dead }) != 0 {
        return 0 as i32;
    }
    if item.is_null()
        || window_customize_get_key(item, std::ptr::null_mut::<*mut key_table>(), &mut bd) == 0
    {
        return 0 as i32;
    }
    (unsafe { free((*bd).note as *mut libc::c_void) });
    (unsafe { (*bd).note = xstrdup(s) });
    (unsafe { mode_tree_build((*data).data) });
    (unsafe { mode_tree_draw((*data).data) });
    (unsafe { (*(*data).wp).flags |= 0x1 as i32 });
    return 0 as i32;
}
extern "C" fn window_customize_set_key(
    mut c: *mut client,
    mut data: *mut window_customize_modedata,
    mut item: *mut window_customize_itemdata,
) {
    let mut key: key_code = unsafe { (*item).key };
    let mut bd: *mut key_binding = std::ptr::null_mut::<key_binding>();
    let mut s: *const i8 = std::ptr::null::<i8>();
    let mut prompt: *mut i8 = std::ptr::null_mut::<i8>();
    let mut value: *mut i8 = std::ptr::null_mut::<i8>();
    let mut new_item: *mut window_customize_itemdata =
        std::ptr::null_mut::<window_customize_itemdata>();
    if item.is_null()
        || window_customize_get_key(item, std::ptr::null_mut::<*mut key_table>(), &mut bd) == 0
    {
        return;
    }
    s = unsafe { mode_tree_get_current_name((*data).data) };
    if (unsafe { strcmp(s, b"Repeat\0" as *const u8 as *const i8) }) == 0 as i32 {
        (unsafe { (*bd).flags ^= 0x1 as i32 });
    } else if (unsafe { strcmp(s, b"Command\0" as *const u8 as *const i8) }) == 0 as i32 {
        (unsafe {
            xasprintf(
                &mut prompt as *mut *mut i8,
                b"(%s) \0" as *const u8 as *const i8,
                key_string_lookup_key(key, 0 as i32),
            )
        });
        value = unsafe { cmd_list_print((*bd).cmdlist, 0 as i32) };
        new_item = (unsafe {
            xcalloc(
                1 as i32 as size_t,
                ::core::mem::size_of::<window_customize_itemdata>() as u64,
            )
        }) as *mut window_customize_itemdata;
        (unsafe { (*new_item).data = data });
        (unsafe { (*new_item).scope = (*item).scope });
        (unsafe { (*new_item).table = xstrdup((*item).table) });
        (unsafe { (*new_item).key = key });
        (unsafe { (*data).references += 1 });
        (unsafe {
            status_prompt_set(
                c,
                std::ptr::null_mut::<cmd_find_state>(),
                prompt,
                value,
                Some(
                    window_customize_set_command_callback
                        as unsafe extern "C" fn(
                            *mut client,
                            *mut libc::c_void,
                            *const i8,
                            i32,
                        ) -> i32,
                ),
                Some(
                    window_customize_free_item_callback
                        as unsafe extern "C" fn(*mut libc::c_void) -> (),
                ),
                new_item as *mut libc::c_void,
                0x8 as i32,
                PROMPT_TYPE_COMMAND,
            )
        });
        (unsafe { free(prompt as *mut libc::c_void) });
        (unsafe { free(value as *mut libc::c_void) });
    } else if (unsafe { strcmp(s, b"Note\0" as *const u8 as *const i8) }) == 0 as i32 {
        (unsafe {
            xasprintf(
                &mut prompt as *mut *mut i8,
                b"(%s) \0" as *const u8 as *const i8,
                key_string_lookup_key(key, 0 as i32),
            )
        });
        new_item = (unsafe {
            xcalloc(
                1 as i32 as size_t,
                ::core::mem::size_of::<window_customize_itemdata>() as u64,
            )
        }) as *mut window_customize_itemdata;
        (unsafe { (*new_item).data = data });
        (unsafe { (*new_item).scope = (*item).scope });
        (unsafe { (*new_item).table = xstrdup((*item).table) });
        (unsafe { (*new_item).key = key });
        (unsafe { (*data).references += 1 });
        (unsafe {
            status_prompt_set(
                c,
                std::ptr::null_mut::<cmd_find_state>(),
                prompt,
                if ((*bd).note).is_null() {
                    b"\0" as *const u8 as *const i8
                } else {
                    (*bd).note
                },
                Some(
                    window_customize_set_note_callback
                        as unsafe extern "C" fn(
                            *mut client,
                            *mut libc::c_void,
                            *const i8,
                            i32,
                        ) -> i32,
                ),
                Some(
                    window_customize_free_item_callback
                        as unsafe extern "C" fn(*mut libc::c_void) -> (),
                ),
                new_item as *mut libc::c_void,
                0x8 as i32,
                PROMPT_TYPE_COMMAND,
            )
        });
        (unsafe { free(prompt as *mut libc::c_void) });
    }
}
extern "C" fn window_customize_unset_key(
    mut data: *mut window_customize_modedata,
    mut item: *mut window_customize_itemdata,
) {
    let mut kt: *mut key_table = std::ptr::null_mut::<key_table>();
    let mut bd: *mut key_binding = std::ptr::null_mut::<key_binding>();
    if item.is_null() || window_customize_get_key(item, &mut kt, &mut bd) == 0 {
        return;
    }
    if item == (unsafe { mode_tree_get_current((*data).data) }) as *mut window_customize_itemdata {
        (unsafe { mode_tree_collapse_current((*data).data) });
        (unsafe { mode_tree_up((*data).data, 0 as i32) });
    }
    (unsafe { key_bindings_remove((*kt).name, (*bd).key) });
}
extern "C" fn window_customize_reset_key(
    mut data: *mut window_customize_modedata,
    mut item: *mut window_customize_itemdata,
) {
    let mut kt: *mut key_table = std::ptr::null_mut::<key_table>();
    let mut dd: *mut key_binding = std::ptr::null_mut::<key_binding>();
    let mut bd: *mut key_binding = std::ptr::null_mut::<key_binding>();
    if item.is_null() || window_customize_get_key(item, &mut kt, &mut bd) == 0 {
        return;
    }
    dd = unsafe { key_bindings_get_default(kt, (*bd).key) };
    if !dd.is_null() && (unsafe { (*bd).cmdlist }) == (unsafe { (*dd).cmdlist }) {
        return;
    }
    if dd.is_null()
        && item
            == (unsafe { mode_tree_get_current((*data).data) }) as *mut window_customize_itemdata
    {
        (unsafe { mode_tree_collapse_current((*data).data) });
        (unsafe { mode_tree_up((*data).data, 0 as i32) });
    }
    (unsafe { key_bindings_reset((*kt).name, (*bd).key) });
}
extern "C" fn window_customize_change_each(
    mut modedata: *mut libc::c_void,
    mut itemdata: *mut libc::c_void,
    mut _c: *mut client,
    mut _key: key_code,
) {
    let mut data: *mut window_customize_modedata = modedata as *mut window_customize_modedata;
    let mut item: *mut window_customize_itemdata = itemdata as *mut window_customize_itemdata;
    match (unsafe { (*data).change }) as u32 {
        0 => {
            if (unsafe { (*item).scope }) as u32 == WINDOW_CUSTOMIZE_KEY as i32 as u32 {
                window_customize_unset_key(data, item);
            } else {
                window_customize_unset_option(data, item);
            }
        }
        1 => {
            if (unsafe { (*item).scope }) as u32 == WINDOW_CUSTOMIZE_KEY as i32 as u32 {
                window_customize_reset_key(data, item);
            } else {
                window_customize_reset_option(data, item);
            }
        }
        _ => {}
    }
    if (unsafe { (*item).scope }) as u32 != WINDOW_CUSTOMIZE_KEY as i32 as u32 {
        (unsafe { options_push_changes((*item).name) });
    }
}
extern "C" fn window_customize_change_current_callback(
    mut _c: *mut client,
    mut modedata: *mut libc::c_void,
    mut s: *const i8,
    mut _done: i32,
) -> i32 {
    let mut data: *mut window_customize_modedata = modedata as *mut window_customize_modedata;
    let mut item: *mut window_customize_itemdata =
        std::ptr::null_mut::<window_customize_itemdata>();
    if s.is_null() || (unsafe { *s }) as i32 == '\0' as i32 || (unsafe { (*data).dead }) != 0 {
        return 0 as i32;
    }
    if (unsafe { tolower(*s.offset(0 as i32 as isize) as u_char as i32) }) != 'y' as i32
        || (unsafe { *s.offset(1 as i32 as isize) }) as i32 != '\0' as i32
    {
        return 0 as i32;
    }
    item = (unsafe { mode_tree_get_current((*data).data) }) as *mut window_customize_itemdata;
    match (unsafe { (*data).change }) as u32 {
        0 => {
            if (unsafe { (*item).scope }) as u32 == WINDOW_CUSTOMIZE_KEY as i32 as u32 {
                window_customize_unset_key(data, item);
            } else {
                window_customize_unset_option(data, item);
            }
        }
        1 => {
            if (unsafe { (*item).scope }) as u32 == WINDOW_CUSTOMIZE_KEY as i32 as u32 {
                window_customize_reset_key(data, item);
            } else {
                window_customize_reset_option(data, item);
            }
        }
        _ => {}
    }
    if (unsafe { (*item).scope }) as u32 != WINDOW_CUSTOMIZE_KEY as i32 as u32 {
        (unsafe { options_push_changes((*item).name) });
    }
    (unsafe { mode_tree_build((*data).data) });
    (unsafe { mode_tree_draw((*data).data) });
    (unsafe { (*(*data).wp).flags |= 0x1 as i32 });
    return 0 as i32;
}
extern "C" fn window_customize_change_tagged_callback(
    mut c: *mut client,
    mut modedata: *mut libc::c_void,
    mut s: *const i8,
    mut _done: i32,
) -> i32 {
    let mut data: *mut window_customize_modedata = modedata as *mut window_customize_modedata;
    if s.is_null() || (unsafe { *s }) as i32 == '\0' as i32 || (unsafe { (*data).dead }) != 0 {
        return 0 as i32;
    }
    if (unsafe { tolower(*s.offset(0 as i32 as isize) as u_char as i32) }) != 'y' as i32
        || (unsafe { *s.offset(1 as i32 as isize) }) as i32 != '\0' as i32
    {
        return 0 as i32;
    }
    (unsafe {
        mode_tree_each_tagged(
            (*data).data,
            Some(
                window_customize_change_each
                    as unsafe extern "C" fn(
                        *mut libc::c_void,
                        *mut libc::c_void,
                        *mut client,
                        key_code,
                    ) -> (),
            ),
            c,
            0xff000000000 as u64,
            0 as i32,
        )
    });
    (unsafe { mode_tree_build((*data).data) });
    (unsafe { mode_tree_draw((*data).data) });
    (unsafe { (*(*data).wp).flags |= 0x1 as i32 });
    return 0 as i32;
}
extern "C" fn window_customize_key(
    mut wme: *mut window_mode_entry,
    mut c: *mut client,
    mut _s: *mut session,
    mut _wl: *mut winlink,
    mut key: key_code,
    mut m: *mut mouse_event,
) {
    let mut wp: *mut window_pane = unsafe { (*wme).wp };
    let mut data: *mut window_customize_modedata =
        (unsafe { (*wme).data }) as *mut window_customize_modedata;
    let mut item: *mut window_customize_itemdata =
        std::ptr::null_mut::<window_customize_itemdata>();
    let mut new_item: *mut window_customize_itemdata =
        std::ptr::null_mut::<window_customize_itemdata>();
    let mut finished: i32 = 0;
    let mut idx: i32 = 0;
    let mut prompt: *mut i8 = std::ptr::null_mut::<i8>();
    let mut tagged: u_int = 0;
    item = (unsafe { mode_tree_get_current((*data).data) }) as *mut window_customize_itemdata;
    finished = unsafe {
        mode_tree_key(
            (*data).data,
            c,
            &mut key,
            m,
            std::ptr::null_mut::<u_int>(),
            std::ptr::null_mut::<u_int>(),
        )
    };
    new_item = (unsafe { mode_tree_get_current((*data).data) }) as *mut window_customize_itemdata;
    if item != new_item {
        item = new_item;
    }
    match key {
        13 | 115 => {
            if !item.is_null() {
                if (unsafe { (*item).scope }) as u32 == WINDOW_CUSTOMIZE_KEY as i32 as u32 {
                    window_customize_set_key(c, data, item);
                } else {
                    window_customize_set_option(c, data, item, 0 as i32, 1 as i32);
                    (unsafe { options_push_changes((*item).name) });
                }
                (unsafe { mode_tree_build((*data).data) });
            }
        }
        119 => {
            if !(item.is_null()
                || (unsafe { (*item).scope }) as u32 == WINDOW_CUSTOMIZE_KEY as i32 as u32)
            {
                window_customize_set_option(c, data, item, 0 as i32, 0 as i32);
                (unsafe { options_push_changes((*item).name) });
                (unsafe { mode_tree_build((*data).data) });
            }
        }
        83 | 87 => {
            if !(item.is_null()
                || (unsafe { (*item).scope }) as u32 == WINDOW_CUSTOMIZE_KEY as i32 as u32)
            {
                window_customize_set_option(c, data, item, 1 as i32, 0 as i32);
                (unsafe { options_push_changes((*item).name) });
                (unsafe { mode_tree_build((*data).data) });
            }
        }
        100 => {
            if !(item.is_null() || (unsafe { (*item).idx }) != -(1 as i32)) {
                (unsafe {
                    xasprintf(
                        &mut prompt as *mut *mut i8,
                        b"Reset %s to default? \0" as *const u8 as *const i8,
                        (*item).name,
                    )
                });
                (unsafe { (*data).references += 1 });
                (unsafe { (*data).change = WINDOW_CUSTOMIZE_RESET });
                (unsafe {
                    status_prompt_set(
                        c,
                        std::ptr::null_mut::<cmd_find_state>(),
                        prompt,
                        b"\0" as *const u8 as *const i8,
                        Some(
                            window_customize_change_current_callback
                                as unsafe extern "C" fn(
                                    *mut client,
                                    *mut libc::c_void,
                                    *const i8,
                                    i32,
                                ) -> i32,
                        ),
                        Some(
                            window_customize_free_callback
                                as unsafe extern "C" fn(*mut libc::c_void) -> (),
                        ),
                        data as *mut libc::c_void,
                        0x1 as i32 | 0x8 as i32 | (*data).prompt_flags,
                        PROMPT_TYPE_COMMAND,
                    )
                });
                (unsafe { free(prompt as *mut libc::c_void) });
            }
        }
        68 => {
            tagged = unsafe { mode_tree_count_tagged((*data).data) };
            if tagged != 0 as i32 as u32 {
                (unsafe {
                    xasprintf(
                        &mut prompt as *mut *mut i8,
                        b"Reset %u tagged to default? \0" as *const u8 as *const i8,
                        tagged,
                    )
                });
                (unsafe { (*data).references += 1 });
                (unsafe { (*data).change = WINDOW_CUSTOMIZE_RESET });
                (unsafe {
                    status_prompt_set(
                        c,
                        std::ptr::null_mut::<cmd_find_state>(),
                        prompt,
                        b"\0" as *const u8 as *const i8,
                        Some(
                            window_customize_change_tagged_callback
                                as unsafe extern "C" fn(
                                    *mut client,
                                    *mut libc::c_void,
                                    *const i8,
                                    i32,
                                ) -> i32,
                        ),
                        Some(
                            window_customize_free_callback
                                as unsafe extern "C" fn(*mut libc::c_void) -> (),
                        ),
                        data as *mut libc::c_void,
                        0x1 as i32 | 0x8 as i32 | (*data).prompt_flags,
                        PROMPT_TYPE_COMMAND,
                    )
                });
                (unsafe { free(prompt as *mut libc::c_void) });
            }
        }
        117 => {
            if !item.is_null() {
                idx = unsafe { (*item).idx };
                if idx != -(1 as i32) {
                    (unsafe {
                        xasprintf(
                            &mut prompt as *mut *mut i8,
                            b"Unset %s[%d]? \0" as *const u8 as *const i8,
                            (*item).name,
                            idx,
                        )
                    });
                } else {
                    (unsafe {
                        xasprintf(
                            &mut prompt as *mut *mut i8,
                            b"Unset %s? \0" as *const u8 as *const i8,
                            (*item).name,
                        )
                    });
                }
                (unsafe { (*data).references += 1 });
                (unsafe { (*data).change = WINDOW_CUSTOMIZE_UNSET });
                (unsafe {
                    status_prompt_set(
                        c,
                        std::ptr::null_mut::<cmd_find_state>(),
                        prompt,
                        b"\0" as *const u8 as *const i8,
                        Some(
                            window_customize_change_current_callback
                                as unsafe extern "C" fn(
                                    *mut client,
                                    *mut libc::c_void,
                                    *const i8,
                                    i32,
                                ) -> i32,
                        ),
                        Some(
                            window_customize_free_callback
                                as unsafe extern "C" fn(*mut libc::c_void) -> (),
                        ),
                        data as *mut libc::c_void,
                        0x1 as i32 | 0x8 as i32 | (*data).prompt_flags,
                        PROMPT_TYPE_COMMAND,
                    )
                });
                (unsafe { free(prompt as *mut libc::c_void) });
            }
        }
        85 => {
            tagged = unsafe { mode_tree_count_tagged((*data).data) };
            if tagged != 0 as i32 as u32 {
                (unsafe {
                    xasprintf(
                        &mut prompt as *mut *mut i8,
                        b"Unset %u tagged? \0" as *const u8 as *const i8,
                        tagged,
                    )
                });
                (unsafe { (*data).references += 1 });
                (unsafe { (*data).change = WINDOW_CUSTOMIZE_UNSET });
                (unsafe {
                    status_prompt_set(
                        c,
                        std::ptr::null_mut::<cmd_find_state>(),
                        prompt,
                        b"\0" as *const u8 as *const i8,
                        Some(
                            window_customize_change_tagged_callback
                                as unsafe extern "C" fn(
                                    *mut client,
                                    *mut libc::c_void,
                                    *const i8,
                                    i32,
                                ) -> i32,
                        ),
                        Some(
                            window_customize_free_callback
                                as unsafe extern "C" fn(*mut libc::c_void) -> (),
                        ),
                        data as *mut libc::c_void,
                        0x1 as i32 | 0x8 as i32 | (*data).prompt_flags,
                        PROMPT_TYPE_COMMAND,
                    )
                });
                (unsafe { free(prompt as *mut libc::c_void) });
            }
        }
        72 => {
            (unsafe { (*data).hide_global = ((*data).hide_global == 0) as i32 });
            (unsafe { mode_tree_build((*data).data) });
        }
        _ => {}
    }
    if finished != 0 {
        (unsafe { window_pane_reset_mode(wp) });
    } else {
        (unsafe { mode_tree_draw((*data).data) });
        (unsafe { (*wp).flags |= 0x1 as i32 });
    };
}
